微服务技术栈

  • 服务开发Springboot、Spring、SpringMVC
  • 服务配置与管理Netflix公司的Archaius、阿里的Diamond等
  • 服务注册与发现Eureka、Consul、Zookeeper、Nacos
  • 服务调用Rest、RPC、gRPC
  • 服务熔断器Hystrix、Envoy、Sentinal
  • 负载均衡Ribbon、Nginx等
  • 服务接口调用(客户端调用服务的简化工具)Feign、OpenFeign
  • 消息队列Kafka、RabbitMQ、ActiveMQ等
  • 服务配置中心管理SpringCloudConfig、Chef、Nacos
  • 服务路由(API网关)Zuul、GateWay
  • 服务监控Zabbix、Nagios、Metrics、Spectator等
  • 全链路追踪Zipkin,Brave、Dapper等
  • 服务部署Docker、OpenStack、Kubernetes等
  • 数据流操作开发包SpringCloud Stream(封装与Redis,Rabbit、Kafka等发送接收消息)
  • 事件消息总线Spring Cloud Bus、Nacos
  • SpringCloud(2020新版) Hoxton版 + SpringCloud alibaba

image.png

名词解释

服务熔断与降级

服务熔断一般是指软件系统中,由于某些原因使得服务出现了过载现象,为防止造成整个系统故障,从而采用的一种保护措施,所以很多地方把熔断亦称为过载保护;服务熔断一般是某个服务(下游服务)故障引起,而服务降级一般是从整体负荷考虑;熔断其实是一个框架级的处理,每个微服务都需要(无层级之分),而降级一般需要对业务有层级之分(比如降级一般是从最外围服务开始) 当整个微服务架构整体的负载超出了预设的上限阈值或即将到来的流量预计将会超过预设的阈值时,为了保证重要或基本的服务能正常运行,我们可以将一些 不重要不紧急 的服务或任务进行服务的 延迟使用暂停使用