1.搭建Eureka的注册中心

1.1Eureka几个时间间隔配置详解

1 >客户端信息上报到eureka服务的时间周期,配置的值越小,上报越频繁,eureka服务器应用
状态管理一致性越高

#客户端信息上报到服务的周期
eureka.client.instance-info-replication-interval-seconds=30

2> 客户端拉取Eureka服务器配置信息的时间周期

#客户端拉取服务器配置信息的周期,默认30s
eureka.client.registry-fetch-interval-seconds=30

1.2Eureka服务中心

application.yaml文件的配置

#配置自己的端口号
server:
port: 10086
#配置注册中心让自己也能注册到自己 Client就不会因为注册不到自己而报错了
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka
# 将实例的地址配死 访问的而不是自己的主机名
instance:
prefer-ip-address: true
ip-address: 127.0.0.1 #配置自己的服务名
spring:
application:
name: eureka-service

1.3服务提供者

application.yaml的配置

server:
port: 9090 #配置别名
mybatis:
type-aliases-package: com.hdh.pojo
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka
instance:
prefer-ip-address: true
ip-address: 127.0.0.1 spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/shop
username: root
password: 12345
application:
name: user-servic

1.4服务调用者

application.yaml的配置

#配置自己的端口号
server:
port: 10086 eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka
# 将实例的地址配死 访问的而不是自己的主机名
instance:
prefer-ip-address: true
ip-address: 127.0.0.1 #配置自己的服务名
spring:
application:
name: eureka-service

1.5调用者发起调用Cousmer 也就是Controller

 application.class起步类

//拉取在注册中心注册过的服务
@EnableDiscoveryClient
@SpringBootApplication
public class ApplicationService { @Bean
//对json数据自动处理
public RestTemplate restTemplate() {
return new RestTemplate();
} public static void main(String[] args) {
SpringApplication.run(ApplicationService.class);
} }

  获取指定服务 通过discoveryClient.getInstances("user-service");

@RestController
@RequestMapping("User")
public class UserController {
@Autowired
private RestTemplate restTemplate;
@Autowired
private DiscoveryClient discoveryClient;
@RequestMapping("{id}")
public User selectById(@PathVariable(name = "id") Integer id) {
//获取注册过的服务 通过name获取实例
List<ServiceInstance> instances = discoveryClient.getInstances("user-service");
ServiceInstance insrance = instances.get(0);
//获取ip和端口
String host = insrance.getHost();
int port = insrance.getPort();
String url = "http://"+host+":"+port+"/User/" + id;
User user = restTemplate.getForObject(url, User.class);
return user; }
}

1.6起步类

@EnableEurekaServer
@SpringBootApplication
public class EurekaService {
public static void main(String[] args) {
SpringApplication.run(EurekaService.class); }
}

1.7Eureka客户端和服务端的起步坐标

<!-- Eureka客户端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>1.4.7.RELEASE</version>
</dependency> <!-- Eureka服务端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>

TZ_13_微服务场景Eureka的更多相关文章

  1. CI Weekly #11 | 微服务场景下的自动化测试与持续部署

    又一周过去了,最近我们的工程师正在搞一个"大事情" --「[flow.ci](http://flow.ci/?utm_source=bokeyuan&utm_medium= ...

  2. springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin

    相信现在已经有很多小伙伴已经或者准备使用springcloud微服务了,接下来为大家搭建一个微服务框架,后期可以自己进行扩展.会提供一个小案例: 服务提供者和服务消费者 ,消费者会调用提供者的服务,新 ...

  3. springcloud微服务实战:Eureka+Zuul+Ribbon+Hystrix+SpringConfig

    原文地址:http://blog.csdn.net/yp090416/article/details/78017552 springcloud微服务实战:Eureka+Zuul+Ribbon+Hyst ...

  4. 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响

    笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响     简介:         SpringCloud体系介绍             官方地址:http://projec ...

  5. 【一起学源码-微服务】Eureka+Ribbon+Feign阶段性总结

    前言 想说的话 这里已经梳理完Eureka.Ribbon.Feign三大组件的基本原理了,今天做一个总结,里面会有一个比较详细的调用关系流程图. 说明 原创不易,如若转载 请标明来源! 博客地址:一枝 ...

  6. springCloud进阶(微服务架构&Eureka)

    springCloud进阶(微服务架构&Eureka) 1. 微服务集群 1.1 为什么要集群 为了提供并发量,有时同一个服务提供者可以部署多个(商品服务).这个客户端在调用时要根据一定的负责 ...

  7. SpringCloud微服务基础 Eureka、Feign、Ribbon、Zuul、Hystrix、配置中心的基础使用

    1.单点系统架构 传统项目架构 传统项目分为三层架构,将业务逻辑层.数据库访问层.控制层放入在一个项目中. 优点:适合于个人或者小团队开发,不适合大团队开发. 分布式项目架构 根据业务需求进行拆分成N ...

  8. SpringCloud(一)之微服务核心组件Eureka(注册中心)的介绍和使用

    一 Eureka服务治理体系1.1 服务治理服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Clou ...

  9. LindDotNetCore~Polly组件对微服务场景的价值

    回到目录 Polly是一个开源框架,在github上可以找到,被善友大哥收录,也是.App vNext的一员! App vNext:https://github.com/App-vNext GitHu ...

随机推荐

  1. Activiti添加批注(comment)信息

    在每次提交任务的时候需要描述一些批注信息,例如:请假流程提交的时候要描述信息为什么请假,如果领导驳回可以批注驳回原因等 1.添加批注 // 由于流程用户上下文对象是线程独立的,所以要在需要的位置设置, ...

  2. springboot整合shiro的使用

    shiro的原理已经有博客了,自己写可以问度娘 参考https://www.cnblogs.com/liyinfeng/p/8033869.html 此处直接描述实际使用 一.pom.xml引包 &l ...

  3. JS数组 组团(如何创建数组)var mychar = new Array( )

    组团,并给团取个名(如何创建数组) 使用数组之前首先要创建,而且需要把数组本身赋至一个变量.好比我们出游,要组团,并给团定个名字"云南之旅". 创建数组语法: var myarra ...

  4. mysql模糊查询特殊字符(\,%和_)处理

    /** * sql模糊查询特殊字符(\,%和_)处理 * * @param string $str * @return string */ public static function like_se ...

  5. Leetcode148. Sort List排序链表

    在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入 ...

  6. 查看python安装位置和已安装库的相关操作

    打开cmd.exe, *查看python安装位置 where python *查看已安装库 pip list 或者pip freeze *查看可以更新的第三方库 pip list --outdated ...

  7. 洛谷 2915 [USACO08NOV]奶牛混合起来Mixed Up Cows

    一道水状压,然而不知道是不是太久没做过dp了,我盯着它二十分钟才反应过来.... 还把数组开小了WA了一发QAQ //Twenty #include<algorithm> #include ...

  8. centos 6.5 yum安装rabbitMQ

    1.查看系统版本, 升级系统基本lib库 [root@test ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@test ~] ...

  9. Jdk8 Hashmap ConcurrentHashMap

    JDK1.8 Hashmap JDK1.8 ConcurrentHashMap 不采用segment而采用 synchronized (f)  f = table[i]; 减小锁的力度 设计了MOVE ...

  10. Axure教程:如何使用动态面板?动态面板功能详解

    写了几个Axure教程之后发现,可能教程的起点有些高了,过分的去讲效果的实现,而忽略了axure功能以及基础元件的使用,那么从这个教程开始,把这些逐渐的展开讲解. 关于Axure动态面板 动态面板是a ...