idea非开源安装指南_微服务开源指南

idea非开源安装指南

微服务-将应用程序分解为可组合的较小的,可组合的部分-受到市内最热门的新餐厅的关注。 (如果您还不熟悉,请在继续之前继续学习什么是微服务 。)

但是,如果您已经从“ Hello,World”开始并运行了少量的微服务,并且正在构建数百个微服务并运行成千上万个实例,那么您将知道没有“微”。 您希望您的实例在用户增加时增加,而在用户减少时减少。 您想在实例之间有效地分配请求。 您想智能地构建和运行服务。 您需要清楚了解正在运行或正在关闭的服务实例。 您如何管理所有这些复杂性?

这是一种有益健康的开放源代码美食,肯定会在美食上“ 微服务”开胃。 我确定我已经忽略了该领域的一些开源应用程序; 请在评论中让我知道他们。

[在此处下载该备忘单的PDF版本]

货柜

部署应用程序的正确方法是在容器中 。 简而言之,容器是一个微型虚拟服务器,其中装有运行应用程序所需的软件。 容器包小巧,智能,易于部署和维护。 在容器中部署应用程序很聪明。 您可以根据需要部署任意数量的实例,并根据需要扩大或缩小规模以满足当前的负载。

开源容器

软件 执照
rkt 的GitHub Apache许可2.0
Docker 的GitHub Apache许可2.0
FreeBSD Jail 的GitHub FreeBSD许可
LXC 的GitHub GNU LGPL v.2.1
OpenVZ 的GitHub GNU通用公共许可证v2.0

容器协调器

如果您在容器上部署了数百或数千个服务实例,则需要一种管理它们的好方法。 容器编排是用于部署和管理所有这些容器的正确解决方案。 协调器可以移动; 放大,缩小或缩小; 管理更高或更低的负载; 监管增加,删除和失效的容器; 以及更多。

开源容器协调器

软件 执照
Kubernetes 的GitHub Apache许可2.0
OpenShift 的GitHub Apache许可2.0
Nomad 的GitHub Mozilla公共许可证2.0
LXD 的GitHub Apache许可2.0

API网关

API网关是监视程序,用于控制和监视对应用程序的API调用。 API网关具有三个关键角色:

  1. API数据和管理: API列表,API订阅,API文档,社区支持
  2. API观点和计费:分析,指标,计费
  3. API控制和安全性:订阅调用者管理,速率控制,阻止,数据转换,生产和沙箱支持,密钥管理

API网关通常是用于在同一网关上部署多个应用程序的多租户解决方案。

开源API网关

以下并非所有的API网关都支持上述每个功能,因此请根据您的需要进行选择。

软件 执照
3scale 的GitHub Apache许可2.0
API Umbrella 的GitHub 麻省理工学院执照
Apigee 的GitHub Apache许可2.0
Apiman 的GitHub Apache许可2.0
DreamFactory 的GitHub Apache许可2.0
Fusio 的GitHub GNU Affero通用公共许可证v3.0
Gravitee 的GitHub Apache许可2.0
Kong 的GitHub Apache许可2.0
KrakenD 的GitHub Apache许可2.0
Tyk 的GitHub Mozilla公共许可证2.0

CI / CD

持续集成(CI)和连续部署(CD;它也可以表示连续交付)是构建和运行流程的流程总和。 CI / CD是确保您的微服务能够正确构建和运行以满足用户期望的哲学。 自动化是至关重要的CI / CD因素,它使构建和运行过程变得容易且结构化。 CI的主要流程是构建和测试,而CD则是部署和监视。

下面列出的所有CI / CD工具和平台都是开源的。 我不包括免费托管开源的SaaS平台。 GitHub也不在列表中,因为它不是开源的并且没有内置的CI / CD。 它改用第三方CI / CD产品集成。 GitLab是开源的,具有内置的CI / CD服务,因此在此列表中。

开源CI / CD工具

软件 执照
Jenkins 的GitHub 麻省理工学院执照
GitLab 亚搏体育app 麻省理工学院执照
Buildbot 的GitHub GNU通用公共许可证v2.0
Concourse 的GitHub Apache许可2.0
GoCD 的GitHub Apache许可2.0
Hudson 的GitHub 麻省理工学院执照
Spinnaker 的GitHub Apache许可2.0

负载均衡器

当请求数量增加时,您必须部署应用程序的多个实例并在这些实例之间共享请求。 管理实例之间的请求的应用程序称为负载平衡器。 可以将负载均衡器配置为基于轮询调度,IP路由或其他算法来分发请求。 当添加新实例(以支持更高的负载)或取消使用新实例(负载缩减时)时,负载均衡器将自动管理请求分配。 会话持久性是另一个负载平衡功能,可在需要时将新请求重定向到前一个实例(例如,维护会话)。 有基于硬件和软件的负载均衡器。

开源负载均衡器

软件 执照
HAProxy 的GitHub HAPROXY的许可证/ GPL v2.0
Apache modules (mod_athena, mod_proxy_balancer) SourceForge
Code.Google
的GitHub
Apache许可2.0
Balance SourceForge GNU通用公共许可证v2.0
Distributor SourceForge GNU通用公共许可证v2.0
GitHub Load Balancer (GLB) Director 的GitHub BSD 3条款许可
Neutrino 的GitHub Apache许可2.0
OpenLoBa SourceForge 未知
Pen 的GitHub GNU通用公共许可证,v2.0
Seesaw 的GitHub Apache许可2.0
Synapse 的GitHub Apache许可2.0
Traefik 的GitHub 麻省理工学院执照

服务注册表和服务发现

当部署了数百或数千个服务实例并相互通信时,考虑到部署点随服务的扩展和扩展而动态变化,请求者服务如何知道如何连接正确的响应者服务? 服务注册表和服务发现服务解决了此问题。 这些系统实质上是键值存储,用于维护配置信息和命名并提供分布式同步。

开源服务注册和发现服务

软件 执照
Baker Street 的GitHub Apache许可2.0
Consul 的GitHub Mozilla公共许可证2.0
etcd 的GitHub Apache许可2.0
Registrator 的GitHub 麻省理工学院执照
Serf 的GitHub Mozilla公共许可证2.0
ZooKeeper 的GitHub Apache许可2.0

监控方式

当微服务及其实例满足用户需求时,您需要对它们的性能保持良好的了解。 监控工具进行抢救!

开源监视工具和软件具有多种风格,其中有些几乎不比top好 。 其他选项包括特定于操作系统的选项; 企业级; 提供完整集成的工具集合; 一站式工具,仅监视,报告或可视化并与第三方工具集成; 以及监视特定或多个组件(例如网络,日志文件,Web请求和数据库)的工具。 监视工具可以是基于Web的工具,也可以是独立的工具,通知选项的范围从被动报告到主动警报。

选择这些工具中的一个或多个,以享受微服务网络带来的便利。

开源监控软件

Software 执照
OpenNMS 的GitHub GNU Affero通用公共许可证
Grafana 的GitHub Apache许可2.0
Graphite 的GitHub Apache许可2.0
Icinga 的GitHub GNU通用公共许可证v2.0
InfluxDB 的GitHub 麻省理工学院执照
LibreNMS 的GitHub GNU通用公共许可证v3.0
Naemon 的GitHub GNU通用公共许可证v2.0
Nagios 的GitHub GNU通用公共许可证v2.0
ntop 的GitHub GNU通用公共许可证v3.0
ELK 的GitHub Apache许可2.0
Prometheus 的GitHub Apache许可2.0
Sensu 的GitHub 麻省理工学院执照
Zabbix 自托管回购 GNU通用公共许可证v2.0
Zenoss SourceForge GNU通用公共许可证v2.0

正确的成分

纯开源解决方案可以为大规模部署和运行微服务提供正确的要素。 我希望您能发现它们令人愉悦,满足,满足,而且最重要的是微服务

下载微服务备忘单

翻译自: https://opensource.com/article/19/11/microservices-cheat-sheet

idea非开源安装指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值