一·注册中心
GitHub demo 地址: https://github.com/TongBlackLittle/springCloud
该 demo 为 springCloud 全家桶的整合项目,抛开了业务逻辑,喜欢的给个星哈 可以留言交流一下
概念
服务治理是微服务系统架构中的核心组件.主要用来实现各个微服务的自动化注册和发现.
构建微服务系统时,会出现如下一些情况 A B 两个服务相互调用,无论哪个服务进行负载均衡,都需要手动维护服务清单,随着服务数量越来越多,业务不断扩大,维护这份服务清单,就需要大量的人力.
服务治理, 服务注册中心就是为了解决大量的服务实例管理问题.
1.服务的发现方式
(1)客户端发现 eureka
(2)服务端发现 nginx zookeeper kubernetes
2.服务的调用方式
(1)REST or RPC eureka 使用的是 REST 方式
3.服务端代码实现
(1)开启服务端注解
@SpringBootApplication
@EnableEurekaServer //开启 eureka 服务端注解
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
(2)编写配置文件
spring:
application:
name: eureka //服务名称
server:
port: 8761 //服务端口
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8761/eureka/ //注册地址
fetch-registry: false
register-with-eureka: true //是否注册到 eureka
server:
enable-self-preservation: false //是否允许自己注册自己
4.客户端代码实现
(1)开启注解
@SpringBootApplication
@EnableDiscoveryClient //开启注解服务发现
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
(2)编写配置文件
spring:
application:
name: eureka_client //服务名称
server:
port: 8763 //服务端口
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8761/eureka/,http://127.0.0.1:8762/eureka/ //注册到那个注册中心
5.eureka 的高可用
(1)配置文件 eureka server 互相注册即可
1.server1
spring:
application:
name: eureka
server:
port: 8761
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8762/eureka/
fetch-registry: false
register-with-eureka: true
server:
enable-self-preservation: false
2.server2
spring:
application:
name: eureka
server:
port: 8762
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8761/eureka/
fetch-registry: false
register-with-eureka: true
server:
enable-self-preservation: false