一张图聊聊微服务架构路线

大家好,我是不才陈某~
今天这篇文章分享一下微服务架构路线,希望对大家有所帮助~
我为什么选择微服务架构?

一张图聊聊微服务架构路线

文章插图
图片
JAVA技术指南:https://java-family.cn
众所周知,单体应用程序,由于其种种不足,几乎不支持敏捷方法 。如果你想为一个大型或复杂的业务创建一个软件项目,最好从微服务架构开始 。
微服务架构是一种灵活的架构,可以显著性地提高应用程序灵活性、可扩展性等 。
微服务架构路线据我了解很多开发者,想知道他们应该如何开始微服务架构旅程,虽然有成千上万的资源可以使用,但是资源到处分散 。我决定通过为微服务架构学习定义路线图,使这段旅程更加清晰 。
基本思路基于微服务的架构通常有几个独立的单元,它们协同工作以接收和处理各种请求 。这个复杂的某些部分可以是插件,这意味着在需要的情况下,你可以在不干扰应用程序的整体工作情况下,新增一个新插件或删除一个插件 。
例如,如果你决定实现一个微服务架构,你应该熟悉应用程序生命周期中的各种关注点,如持久化、日志记录、监控、负载均衡、缓存等,此外你还应该知道哪些哪些工具比较好或哪些堆栈更适合你的应用程序 。
本文,我将从以下几个方面来介绍各种关注点
  1. 它是什么?
  2. 我为什么要使用它?
  3. 哪些工具比较好?
请注意,我在哪些工具比较好部分提到了两三个哪些工具比较好,当然,我们还有很多其他哪些工具比较好,选择这些哪些工具比较好的标准是业务需求,受欢迎程度、性能、开源以及更新频率 。
再次注意,我们还有基于云的服务,这不在本文讨论的范围内 。
一张图聊聊微服务架构路线

文章插图
图片
本文,我用上图作为架构图示例 。这个图涉及到大部分微服务架构组件,虽然不是也很全面,但是微服务架构的标准模型 。
本文将会介绍微服务架构的关注点有:
  • Docker
  • 容器编排
  • Docker容器管理
  • API网关
  • 负载均衡
  • 服务发现
  • 事件总线
  • 日志记录
  • 监控和警报
  • 分布式追踪
  • 数据持久化
  • 缓存
  • 云供应商
Docker它是什么:
Docker 是一个开源平台,用于容器化你的应用程序,其中包含你的应用程序在各种环境中运行所需的类库和依赖项 。在 Docker 的帮助下,开发团队能够将应用程序打包到容器中 。
我为什么要使用它:
实际上,Docker 是容器化应用程序的哪些工具比较好之一,你也可以在不使用 Docker 的情况下创建容器,Docker 的真正好处是使这个过程更容易、更安全、更简单 。
哪些工具比较好:
Docker
容器编排它是什么:
在容器化应用程序后,你将需要一些哪些工具比较好来管理容器化应用程序,以执行一些手动和自动操作,例如水平扩展 。
我为什么要使用它:
这些哪些工具比较好为你的应用程序管理提供一些服务,例如自动负载均衡,保证服务的高可用性 。
这种服务是通过定义多个管理器节点来完成的,如果一个节点管理器出现任何故障,其他管理器可以保持应用程序服务可用 。
哪些工具比较好:
Kube.NETes or K8s,Docker Swarm
Docker 容器管理它是什么:
管理 Docker 环境、配置、安全等 。
我为什么要使用它:
为用户提供了一个基于 GUI 的Docker 容器管理,可以使他们不必处理不舒服的 CLI 。这些工具也为开发人员提供了丰富的 UI 来构建和发布他们的镜像,还可以通过提供简化的用户界面来更轻松地执行一些操作任务,例如服务水平扩展 。
哪些工具比较好:
PortAIner , DockStation, Kitematic,Rancher
API网关它是什么:
API 网关可以被视为一种充当你的应用程序服务和不同客户端之间的中间件 。API 网关可以管理许多事情,例如:


推荐阅读