Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.
微服务架构是一个非常常见的需求。
微服务架构是一种将软件系统拆分成多个独立的、可独立部署和扩展的服务的架构。每个服务都运行在自己的进程中,并使用轻量级通信机制(如HTTP或消息队列)相互通信。下面是微服务架构的一些常见组件:
服务:微服务架构的核心组件,每个服务都负责一个特定的业务功能,并独立运行在自己的进程中。每个服务可以使用不同的编程语言和技术栈,使得团队可以根据需要选择最适合的技术。
服务注册与发现:服务注册与发现组件用于管理和发现运行中的服务实例。当一个服务启动时,它会在注册中心注册自己的地址和元数据。其他服务可以通过查询注册中心来发现并与之通信。
负载均衡:负载均衡组件用于分发请求到多个服务实例,以平衡负载和提高系统的可用性和性能。常见的负载均衡策略包括轮询、随机和基于权重。
服务网关:服务网关是外部客户端与内部服务之间的统一入口。它可以处理认证、鉴权、流量控制和请求转发等功能,使得客户端与服务之间的通信变得简单和安全。
服务间通信:微服务架构中的服务需要相互通信来完成业务功能。常见的通信机制包括HTTP、消息队列、RPC等。选择合适的通信机制需要考虑性能、可靠性和开发复杂性等因素。
数据管理:微服务架构中每个服务通常有自己的数据存储或数据库。数据管理组件用于处理数据的存储、访问和同步等问题。常见的数据管理技术包括关系型数据库、NoSQL数据库和缓存等。
监控与日志:微服务架构需要对系统的运行状态进行监控和日志记录,以便及时发现和解决问题。监控与日志组件可以用于收集和分析系统的运行数据,并提供实时监控和问题排查的功能。
。
微服务设计模式很多,之前blog 文也提到过一些:
如下列出:
微服务架构是一种将软件系统拆分成多个独立的、可独立部署和扩展的服务的架构。每个服务都运行在自己的进程中,并使用轻量级通信机制(如HTTP或消息队列)相互通信。下面是微服务架构的一些常见组件:
微服务设计模式是指在微服务架构中,根据不同的需求场景和问题,使用不同的设计模式来实现各个微服务的功能。以下是一些常见的微服务设计模式:
服务注册与发现模式(Service Registry and Discovery Pattern):使用服务注册中心来管理和发现微服务实例,实现微服务之间的通信。
服务代理模式(Service Proxy Pattern):通过使用代理来隐藏具体的微服务实现细节,简化微服务之间的通信。
网关模式(Gateway Pattern):将多个微服务的入口集成到一个网关中,统一处理请求和响应,提供统一的接口。
事件驱动模式(Event-driven Pattern):使用事件驱动的方式来处理微服务之间的消息传递和数据同步。
限流与熔断模式(Rate Limiting and Circuit Breaker Pattern):通过限制请求的流量和使用熔断机制,保护微服务不被过载或故障影响。
任务调度模式(Job Scheduling Pattern):使用任务调度器来调度和执行定时任务,实现微服务中的定时任务功能。
数据一致性模式(Data Consistency Pattern):在微服务架构中保证数据的一致性,例如使用分布式事务或事件溯源等。
异步模式(Asynchronous Pattern):使用异步方式处理请求和响应,提高系统的并发性能和响应速度。
聚合模式(Aggregator Pattern):将多个微服务的数据聚合到一个服务中,提供统一的数据查询接口。
容器化模式(Containerization Pattern):将每个微服务打包成独立的容器,实现微服务的快速部署和扩展。
以上是一些常见的微服务设计模式,根据具体的需求和场景,还可以结合其他设计模式进行使用。
1.Spring Cloud Alibaba Nacos
源码分析:
名称 | 网址 |
---|---|
nacos概述 | https://blog.csdn.net/xiamaocheng/article/details/104523857 |
nacos的注册中心和服务中心 | https://blog.csdn.net/xiamaocheng/article/details/127379651 |
nacos-ap&CP相关源码 | https://blog.csdn.net/xiamaocheng/article/details/124851198 |
nacos-API代码解析 | https://blog.csdn.net/xiamaocheng/article/details/124835144 |
nacos 的core包分析 | https://blog.csdn.net/xiamaocheng/article/details/124813543 |
等等 |
2.Spring Cloud Alibaba RocketMQ
3.Spring Cloud Alibaba Sentinel
Ribbon 整合Sentinel | https://blog.csdn.net/xiamaocheng/article/details/104561030 |
5.Spring Cloud Alibaba Feign
Feign是如何设计的,设计架构分析 | https://blog.csdn.net/xiamaocheng/article/details/119713905 |
feign原理和使用 | https://blog.csdn.net/xiamaocheng/article/details/125009145 |
Feign的调用原理及其源码分析 | https://blog.csdn.net/xiamaocheng/article/details/119714707 |
6.Spring Cloud Alibaba Seata | |
这里基于文档,源码: | |
– | – |
seata 分布式解决方案 | https://blog.csdn.net/xiamaocheng/article/details/104540511 |
– | – |
seata server 源码分析下 | https://blog.csdn.net/xiamaocheng/article/details/104615402 |
Seata模式 | https://blog.csdn.net/xiamaocheng/article/details/128277418 |
7.Spring Cloud Alibaba API Gateway
Geteway网关的核心功能是:过滤和路由转发
Spring Gateway | https://blog.csdn.net/xiamaocheng/article/details/104717802 |
8.Spring Cloud Alibaba Log Service
日志服务,提供了日志收集、存储、查询、分析等功能,可以帮助开发者快速定位和解决问题。
9.Spring Cloud Alibaba DTS
数据传输服务,提供了数据迁移、数据同步、数据订阅等功能,可以帮助开发者实现数据的快速迁移和同步
10.Spring Cloud Alibaba ACMS
配置管理服务,提供了分布式配置管理、动态配置更新、配置版本管理等功能,可以帮助开发者管理应用的配置信息
1.Netflix Eureka
2.Netflix Ribbon\Feign : 客户端负载均衡
3.Netflix Hystrix :断路器
4.Netflix Zuul : 服务网关
5.Spring Cloud Config :分布式配置
6.Spring Cloud Bus : 消息总线
7.Spring Cloud sleuth :微服务链路追踪
现在大家都基本用了Spring Cloud Alibaba这套了,调研下,大家在平常用的是哪套呢?
参考资料
官方文档
开源社区
博客文章
书籍推荐
1.ttps://blog.csdn.net/weixin_40175201/article/details/131355009
2.https://blog.csdn.net/weixin_40175201/article/details/131355009
欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!同时,期望各位大佬的批评指正~