微服务架构组件介绍

微服务架构组件介绍

  • 目录
    • 概述
      • 需求:
    • 设计思路
    • 实现思路分析
      • 1.微服务的概念
      • 2.微服务设计模式
      • 3.Spring cloud
      • 4.netfliex 这一套
  • 参考资料和推荐阅读

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.

目录

微服务架构组件介绍_第1张图片

概述

微服务架构是一个非常常见的需求。

需求:

设计思路

实现思路分析

1.微服务的概念

微服务架构是一种将软件系统拆分成多个独立的、可独立部署和扩展的服务的架构。每个服务都运行在自己的进程中,并使用轻量级通信机制(如HTTP或消息队列)相互通信。下面是微服务架构的一些常见组件:

  1. 服务:微服务架构的核心组件,每个服务都负责一个特定的业务功能,并独立运行在自己的进程中。每个服务可以使用不同的编程语言和技术栈,使得团队可以根据需要选择最适合的技术。

  2. 服务注册与发现:服务注册与发现组件用于管理和发现运行中的服务实例。当一个服务启动时,它会在注册中心注册自己的地址和元数据。其他服务可以通过查询注册中心来发现并与之通信。

  3. 负载均衡:负载均衡组件用于分发请求到多个服务实例,以平衡负载和提高系统的可用性和性能。常见的负载均衡策略包括轮询、随机和基于权重。

  4. 服务网关:服务网关是外部客户端与内部服务之间的统一入口。它可以处理认证、鉴权、流量控制和请求转发等功能,使得客户端与服务之间的通信变得简单和安全。

  5. 服务间通信:微服务架构中的服务需要相互通信来完成业务功能。常见的通信机制包括HTTP、消息队列、RPC等。选择合适的通信机制需要考虑性能、可靠性和开发复杂性等因素。

  6. 数据管理:微服务架构中每个服务通常有自己的数据存储或数据库。数据管理组件用于处理数据的存储、访问和同步等问题。常见的数据管理技术包括关系型数据库、NoSQL数据库和缓存等。

  7. 监控与日志:微服务架构需要对系统的运行状态进行监控和日志记录,以便及时发现和解决问题。监控与日志组件可以用于收集和分析系统的运行数据,并提供实时监控和问题排查的功能。

2.微服务设计模式

微服务设计模式很多,之前blog 文也提到过一些:
如下列出:
微服务架构是一种将软件系统拆分成多个独立的、可独立部署和扩展的服务的架构。每个服务都运行在自己的进程中,并使用轻量级通信机制(如HTTP或消息队列)相互通信。下面是微服务架构的一些常见组件:
微服务设计模式是指在微服务架构中,根据不同的需求场景和问题,使用不同的设计模式来实现各个微服务的功能。以下是一些常见的微服务设计模式:

  1. 服务注册与发现模式(Service Registry and Discovery Pattern):使用服务注册中心来管理和发现微服务实例,实现微服务之间的通信。

  2. 服务代理模式(Service Proxy Pattern):通过使用代理来隐藏具体的微服务实现细节,简化微服务之间的通信。

  3. 网关模式(Gateway Pattern):将多个微服务的入口集成到一个网关中,统一处理请求和响应,提供统一的接口。

  4. 事件驱动模式(Event-driven Pattern):使用事件驱动的方式来处理微服务之间的消息传递和数据同步。

  5. 限流与熔断模式(Rate Limiting and Circuit Breaker Pattern):通过限制请求的流量和使用熔断机制,保护微服务不被过载或故障影响。

  6. 任务调度模式(Job Scheduling Pattern):使用任务调度器来调度和执行定时任务,实现微服务中的定时任务功能。

  7. 数据一致性模式(Data Consistency Pattern):在微服务架构中保证数据的一致性,例如使用分布式事务或事件溯源等。

  8. 异步模式(Asynchronous Pattern):使用异步方式处理请求和响应,提高系统的并发性能和响应速度。

  9. 聚合模式(Aggregator Pattern):将多个微服务的数据聚合到一个服务中,提供统一的数据查询接口。

  10. 容器化模式(Containerization Pattern):将每个微服务打包成独立的容器,实现微服务的快速部署和扩展。

以上是一些常见的微服务设计模式,根据具体的需求和场景,还可以结合其他设计模式进行使用。

3.Spring cloud

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
配置管理服务,提供了分布式配置管理、动态配置更新、配置版本管理等功能,可以帮助开发者管理应用的配置信息

4.netfliex 这一套

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

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!同时,期望各位大佬的批评指正~

你可能感兴趣的:(【原则-模式-架构】,架构,微服务,云原生)