本文共 2646 字,大约阅读时间需要 8 分钟。
idea非开源安装指南
微服务-将应用程序分解为可组合的较小的,可组合的部分-受到市内最热门的新餐厅的关注。 (如果您还不熟悉,请在继续之前继续学习 。)
但是,如果您已经从“ Hello,World”开始并运行了少量的微服务,并且正在构建数百个微服务并运行成千上万个实例,那么您将知道没有“微”。 您希望您的实例在用户增加时增加,而在用户减少时减少。 您想在实例之间有效地分配请求。 您想智能地构建和运行服务。 您需要清楚了解正在运行或正在关闭的服务实例。 您如何管理所有这些复杂性?
这是一种有益健康的开放源代码美食,肯定会在美食上“ 微服务”开胃。 我确定我已经忽略了该领域的一些开源应用程序; 请在评论中让我知道他们。
[在下载该备忘单的PDF版本]
部署应用程序的正确方法是在 。 简而言之,容器是一个微型虚拟服务器,其中装有运行应用程序所需的软件。 容器包小巧,智能,易于部署和维护。 在容器中部署应用程序很聪明。 您可以根据需要部署任意数量的实例,并根据需要扩大或缩小规模以满足当前的负载。
开源容器
软件 | 码 | 执照 |
---|---|---|
Apache许可2.0 | ||
Apache许可2.0 | ||
FreeBSD许可 | ||
GNU LGPL v.2.1 | ||
GNU通用公共许可证v2.0 |
如果您在容器上部署了数百或数千个服务实例,则需要一种管理它们的好方法。 容器编排是用于部署和管理所有这些容器的正确解决方案。 协调器可以移动; 放大,缩小或缩小; 管理更高或更低的负载; 监管增加,删除和失效的容器; 以及更多。
开源容器协调器
软件 | 码 | 执照 |
---|---|---|
Apache许可2.0 | ||
Apache许可2.0 | ||
Mozilla公共许可证2.0 | ||
Apache许可2.0 |
API网关是监视程序,用于控制和监视对应用程序的API调用。 API网关具有三个关键角色:
API网关通常是用于在同一网关上部署多个应用程序的多租户解决方案。
开源API网关
以下并非所有的API网关都支持上述每个功能,因此请根据您的需要进行选择。
软件 | 码 | 执照 |
---|---|---|
Apache许可2.0 | ||
麻省理工学院执照 | ||
Apache许可2.0 | ||
Apache许可2.0 | ||
Apache许可2.0 | ||
GNU Affero通用公共许可证v3.0 | ||
Apache许可2.0 | ||
Apache许可2.0 | ||
Apache许可2.0 | ||
Mozilla公共许可证2.0 |
持续集成(CI)和连续部署(CD;它也可以表示连续交付)是构建和运行流程的流程总和。 是确保您的微服务能够正确构建和运行以满足用户期望的哲学。 自动化是至关重要的CI / CD因素,它使构建和运行过程变得容易且结构化。 CI的主要流程是构建和测试,而CD则是部署和监视。
下面列出的所有CI / CD工具和平台都是开源的。 我不包括免费托管开源的SaaS平台。 GitHub也不在列表中,因为它不是开源的并且没有内置的CI / CD。 它改用第三方CI / CD产品集成。 GitLab是开源的,具有内置的CI / CD服务,因此在此列表中。
开源CI / CD工具
软件 | 码 | 执照 |
---|---|---|
麻省理工学院执照 | ||
麻省理工学院执照 | ||
GNU通用公共许可证v2.0 | ||
Apache许可2.0 | ||
Apache许可2.0 | ||
麻省理工学院执照 | ||
Apache许可2.0 |
当请求数量增加时,您必须部署应用程序的多个实例并在这些实例之间共享请求。 管理实例之间的请求的应用程序称为负载平衡器。 可以将负载均衡器配置为基于轮询调度,IP路由或其他算法来分发请求。 当添加新实例(以支持更高的负载)或取消使用新实例(负载缩减时)时,负载均衡器将自动管理请求分配。 会话持久性是另一个负载平衡功能,可在需要时将新请求重定向到前一个实例(例如,维护会话)。 有基于硬件和软件的负载均衡器。
开源负载均衡器
软件 | 码 | 执照 |
---|---|---|
HAPROXY的许可证/ GPL v2.0 | ||
(mod_athena, mod_proxy_balancer) | 或 或 | Apache许可2.0 |
GNU通用公共许可证v2.0 | ||
GNU通用公共许可证v2.0 | ||
BSD 3条款许可 | ||
Apache许可2.0 | ||
未知 | ||
GNU通用公共许可证,v2.0 | ||
Apache许可2.0 | ||
Apache许可2.0 | ||
麻省理工学院执照 |
当部署了数百或数千个服务实例并相互通信时,考虑到部署点随服务的扩展和扩展而动态变化,请求者服务如何知道如何连接正确的响应者服务? 服务注册表和服务发现服务解决了此问题。 这些系统实质上是键值存储,用于维护配置信息和命名并提供分布式同步。
开源服务注册和发现服务
软件 | 码 | 执照 |
---|---|---|
Apache许可2.0 | ||
Mozilla公共许可证2.0 | ||
Apache许可2.0 | ||
麻省理工学院执照 | ||
Mozilla公共许可证2.0 | ||
Apache许可2.0 |
当微服务及其实例满足用户需求时,您需要对它们的性能保持良好的了解。 监控工具进行抢救!
开源监视工具和软件具有多种风格,其中有些几乎不比 。 其他选项包括特定于操作系统的选项; 企业级; 提供完整集成的工具集合; 一站式工具,仅监视,报告或可视化并与第三方工具集成; 以及监视特定或多个组件(例如网络,日志文件,Web请求和数据库)的工具。 监视工具可以是基于Web的工具,也可以是独立的工具,通知选项的范围从被动报告到主动警报。
选择这些工具中的一个或多个,以享受微服务网络带来的便利。
开源监控软件
Software | 码 | 执照 |
GNU Affero通用公共许可证 | ||
Apache许可2.0 | ||
Apache许可2.0 | ||
GNU通用公共许可证v2.0 | ||
麻省理工学院执照 | ||
GNU通用公共许可证v3.0 | ||
GNU通用公共许可证v2.0 | ||
GNU通用公共许可证v2.0 | ||
GNU通用公共许可证v3.0 | ||
Apache许可2.0 | ||
Apache许可2.0 | ||
麻省理工学院执照 | ||
GNU通用公共许可证v2.0 | ||
GNU通用公共许可证v2.0 |
纯开源解决方案可以为大规模部署和运行微服务提供正确的要素。 我希望您能发现它们令人愉悦,满足,满足,而且最重要的是微服务 !
翻译自:
idea非开源安装指南
转载地址:http://lpszd.baihongyu.com/