开发笔记 -- 分布式系统架构&组件&DevOps

一、分布式系统架构

分布式架构主要由一系列分布式组件配合横向拆分的多服务组成

具体对应springcloud标准的实现:springcloud-netfix, springcloud-alibaba

下图为基础springcloud-netfix到springcloud-alibaba的升级

组件调用关系示图:

 

 * 组件说明

1.Consul【微服务管理工具】是一个服务网格(微服务间的 TCP/IP,负责服务之间的网络调用、限流、熔断和监控)解决方案,它是一个一个分布式的,高度可用的系统,而且开发使用都很简便。它提供了一个功能齐全的控制平面,主要特点是:服务发现、健康检查、键值存储、安全服务通信、多数据中心。
2.微服务的组件:
    网关(lua/gateway/zuul):接收外部请求,处理外部请求的转发与负载均衡,处理限流跨域等;
    注册中心(nacos/zookeeper/eureka):注册发现并维护内部服务,平衡客户端请求;
    配置中心(config/nacos):统一管理多服务配置信息;
    熔断器(hystrix):微服务容错,处理服务降级;
    内部服务调用者(feign):封装多服务内部调用接口;
    内部请求处理(Ribbon):执行内部请求调用,分担请求压力,自定义负载均衡;
3.skywalking链路追踪
4.Prometheus 是一个开源的服务监控系统和时间序列数据 + Grafana时序数据展示
5.Sonar(SonarQube)是一个开源平台,用于管理源代码的质量
6.ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成,日志系统
7.微服务的理解:架构解耦方式,可以类比提取工具类

* springcloud-alibaba官方

https://spring.io/projects/spring-cloud-alibaba

* springcloud-netfix官方

https://spring.io/projects/spring-cloud-netflix

 

二、注册中心

nacos:https://nacos.io/zh-cn/docs/what-is-nacos.html

apollo: https://developer.apollo.auto/developer_cn.html

consul: https://yushuai-w.gitbook.io/consul/

注册中心对比:https://developer.aliyun.com/article/766176

分布式协议:https://www.cnblogs.com/zhang-qc/p/8688258.html

 

三、DevOps

企业组件模式: gitlab + jenkins + docker + k8s + skywalking + ELK

 

posted @ 2022-05-24 15:55  yangdq  阅读(265)  评论(0编辑  收藏  举报