完整的微服务架构图
注册中心
配置中心
服务集群
服务网关
分布式缓存
分布式搜索
数据库集群
消息队列
分布式日志服务
系统监控链路追踪
jenkins
docker
k8s
技术栈
微服务治理:
注册发现、远程调用、负载均衡、配置管理、网关路由、系统保护、流量控制、服务授权、熔断降级、分布式事务、tcc模型、at模型、seata、xa模式、saga模式
eureka、nacos、openfeign、gateway、sentinel、hystrix
缓存技术:
缓存穿透、缓存雪崩、openresty、缓存数据同步、nginx本地缓存、多级缓存分层、redis数据结构、redis持久化、redis分片集群、lua脚本、redis主从复制、redis主从集群、哨兵机制、springdataredis、canal数据同步
异步通信技术:
mq消息模型、springamqp、消息堆积问题、消息可靠性、仲裁队列、延迟队列、镜像集群、数据持久化
搜索技术:
dsl语句、es集群、restapi、集群脑裂、竞价排名、自动补全、聚合统计、拼音分词、地理坐标、heighlevelclient、拼音搜索、分片集群
devops:
dockerfile、dockercompose、graylog、jenkins、skywalking、docker使用、kubernetes
服务链路监控:
zipkin、sleuth
分布式架构的特点
1.耦合度低
2.有利于服务升级拓展
考虑的问题:
1.服务拆分粒度如何。
2.服务集群地址如何维护。
3.服务之间如何实现远程调用。
4.服务健康状态如何感知。
单一职责:微服务拆分粒度更小,每一个微服务都应对唯一的业务能力,做到单一职责,避免重复业务开发。
面向服务:微服务对外暴露业务接口。
自治:团队独立、技术独立、数据独立、部署独立。
隔离性强:服务调用做好隔离、容错、降级、避免出现级联问题。
发表评论