spring cloud的组件

最近想梳理一下公司的整个系统的设计,以及各个spring cloud组件的交互和协同工作过程和原理。也想自己从头构建一个新的微服务系统。于是,从头到尾,梳理了一遍。

常见微服务组件

  • 注册和发现服务
    Eureka: Eureka是Netflix开发的服务发现框架
    Zookeep、etcd、Consul

  • 配置中心
    spring cloud config、ctrip Apollo
    ctrip Apollo: 携程框架部门研发的开源配置管理中心

  • 微服务网关
    spring zuul、spring cloud gateway、alibaba Diamond

  • 服务调用以及负载均衡
    Ribbon、Feign

  • 服务降级和熔断
    Hystrix: Hystrix 的关注点在于以 隔离 和 熔断 为主的容错机制
    Sentinel: 信号量隔离(并发线程数限流)

  • 调用链路分析与监控
    Spring Cloud Sleuth + Zipkin、PinPoint
    spring cloud :分布式的服务链路跟踪解决方案,调用链监控工具的客户端,集成在各个微服务上,负责产生调用链监控数据。
    Pinpoint :是一个完整的性能监控解决方案:有从探针、收集器、存储到 Web 界面等全套体系。

  • 监控
    Spring Cloud Sleuth + Zipkin、PinPoint 和配合,加上一些自研的基础报警。
    grafana、Prometheus
    (可以在网关层面来加入服务的错误调用日志)

  • 日志收集
    elk套件、业务系统日志的标准化输出

  • 其他

  1. 完整一点,还有发布系统的搭建,底层数据治理能力。
  2. 基于jenkins和gitlab的CI/CD系统
  3. 公共组件

以上这些组件,需要不断迭代和完善

(完)

发表评论

邮箱地址不会被公开。 必填项已用*标注