spring cloud微服务
2020-01-03 09:49:00 1 举报
AI智能生成
spring cloud微服务组件
作者其他创作
大纲/内容
1. 注册中心
eureka-(尤里卡)-自行maven搭建,2.x闭源
高可用(@EnableEurekaServer)
服务提供者
@EnableEurekaClient
服务消费者
@EnableEurekaClient
@EnableDiscoveryClient
consul(ˈkɒnsl)-下载安装
可集群部署
高可用
高可用
服务发现
提供者注册
消费者服务消费
检查健康
actuator(ˈæktjʊeɪtə)-客户端安装的监控工具
refresh,health,info
键值对存储
多数据中心
2. 分布式配置中心
配置管理
git
eureka
@EnableEurekaServer把配置中心服务化-可高可用
consul+git2consul
辅助配置文件更新
个人理解不可高可用
个人理解不可高可用
consul
config server
高可用
注册中心注册
利用客户端负载均衡
@EnableEurekaServer
config client
消息总线Bus
/bus/refresh/
更新所有配置节点配置文件
更新所有配置节点配置文件
第三方集成含权限管理
3.Feign(伪Http客户端)
Spring cloud
两种服务调用方式
两种服务调用方式
ribbon+restTemplate
rest+ribbon
rest+ribbon
客户端
服务消费者
服务消费者
RestController->
Service->(url)
RestTemplate->提供者
ribbon是一个负载均衡客户端
ribbon集成断路器(Hystrix)
@EnableEurekaClient
@EnableDiscoveryClient
@Bean
@LoadBalanced
@EnableDiscoveryClient
@Bean
@LoadBalanced
feign(feɪn)
Feign 注解,
JAX-RS注解
基于接口的注解
JAX-RS注解
基于接口的注解
RestController->
interface (@FeignClient->服务名)
整合ribbon(ˈrɪbən)
有负载均衡能力
有负载均衡能力
Feign自带断路器
整合Hystrix
有熔断能力
有熔断能力
客户端:服务降级(服务回退)
服务端抛出异常调用锻路定义方法
:@HystrixCommand
:@HystrixCommand
消费
@EnableEurekaClient
@EnableDiscoveryClient
@EnableFeignClients
@FeignClient(value = "服务名")
@EnableDiscoveryClient
@EnableFeignClients
@FeignClient(value = "服务名")
openfeign
Spring Cloud 在Feign的基础上支持了Spring MVC的注解,如@RequesMapping等等。
OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,
并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。
OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,
并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。
4.路由网关(智能路由)
zuul(祖鲁)
自行maven搭建->
提供者
自行maven搭建->
提供者
路由转发-Dynamic Routing
path对应serviceId
过滤器
Authentication-身份验证
Insights-洞察力
Stress Testing-应力测试
Canary Testing-金丝雀测试
Service Migration-服务迁移
Load Shedding-甩负荷
ratelimit限流(1分钟内,限流10次)
Security-安全
Static Response handling-静态响应处理
Active/Active traffic management-主动/主动交通管理
5.服务链路追踪
zipkin-server
@EnableZipkinServer //表示Zipkin是服务器
log
日志分析显示Kibana或Splunk
在服务调用的请求和响应中加入ID,表明上下游请求的关系
有时候可能在zipkin服务器中看不到数据,那是因为默认sleuth收集信息的比率是0.1
rabbitmq
activemq
service
client
链路追踪组件
Twitter 的Zipkin(斯普肯)
Google的Dapper
阿里的Eagleeye (鹰眼)
sleuth-分布式系统中提供追踪解决方案
6.断路器监控
断路器监控(Hystrix Dashboard)
service
单个
断路器聚合监控(Hystrix Turbine)
每个服务Hystrix Dashboard数据进行了整合
多个app-config:serviceId
docker部署spring cloud项目
轻量级
可移植
自给自足的容器
自动化打包和发布
自动化测试和持续集成
扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
0 条评论
下一页