一、架构的演变
传统架构 → 水平拆分 → 垂直拆分(最早的分布式) → soa(dubbo) → 微服务(SpringCloud)
二、远程调用技术
- rpc协议:自定义数据格式,限定技术,传输速度快,效率高,基于tcp协议(比http的更深层)。代表:dubbo
- http协议:统一的数据格式,不限定技术,提供rest接口即可,基于tcp协议 。代表:springCloud
三、SpringCloud
SpringCloud是微服务架构的解决方案。
是很多组件的集合:
- eureka:注册中心,服务的注册与发现
- zull:网关协议,路由请求,过滤器(ribbon hystrix)
- ribbon:负载均衡组件
- hystrix:熔断组件
- feign:远程调用组件(ribbon hystrix)
四、Eureka
Eureka分为 注册中心 与 客户端。
注册中心,例如 Yuanxion-eureka ,建立过程:
- 在pom.xml中引入启动器
- 在application.yml 中 给服务取名称 ,如:spring.application.name=yuanxion-eureka
- 在引导类上加 @EnableEurekaServer 注解(启用Eureka注册中心)
客户端 分为 服务提供方 和 服务调用方,如:Yuanxion-service-provider ,Yuanxion-service-consumer,建立过程:
- 在pom.xml中引入启动器
- 在application.yml 中 配置名字,并且配置 注册中心 地址
- 在引导类上加 @EnableDiscoveryClient 注解 (启用Eureka客户端)
五、高可用Eureka
使用多个EurekaServer服务注册中心,建立成一个集群,形参一个高可用的Eureka服务注册中心。