【译】Envoy with Nomad and Consul (一)
原文:
http://timperrett.com/2017/05/13/nomad-with-envoy-and-consul
在过去的许多年我的职业生涯一直是围绕着数据中心和平台基础设施。工作范围包括一些乏味的事情像搬运日志,也有一些令人兴奋的领域比如集群调度和动态流量路由。可以说在过去的多年里,调度,Service mesh(不好翻译,看文尾译注)和组件发现 - 与其他所有相关的工具 - 都有长足的发展, 并且会以惊人的速度继续下去。
在我看来这种发展节奏很大程度上归结到想要建立,进化和维护一个越来越大的系统的愿望。让我们回头看一下十年前,单体应用很普遍:只要将你的EJB EAR部署到你的Tomcat应用服务器上就可以把业务搞定。应用会由很多由不同team开发的组件组成并捆绑在一起- 调度任务,特性和发布进程都被紧紧的耦合在部署细节中。 在最近几年,组织快速迁移到适应流程和技术额方式来赋能团队去以并行的方式来生产服务和项目,交付的效率可以在上市时间上影响更广泛的产品,在很多领域上这是一个很重要的价值。
这个新的技术栈分层极大的改变了系统构建的角色和责任;看下以下的图例,标注下这些元素,并用他们的相关责任域来注释。

十年前我画这个图的时候,除了一些与特定业务产品相关的工程(以红色显示),基本都是黄色的。我们现在看到的是一个有效并商业化的中间组件:传统运维事物已经从图中被大量移除了,腾出手来去解决其他地方的困难问题,平台化思维的工程事物为更广泛的工程产品团队提供了一套一致性的工具集 - 大家共赢!
在本文中,我会介绍三个最火的项目来帮助在这些组织中的引路人来改变,并赋能团队来更快的交付和以小型构件块来构建更大型的系统,并可以解决基础设施工程的长期问题:
- Nomad 作为调度 (https://www.nomadproject.io/)
- Consul 作为发现 (https://www.consul.io/)
- Envoy 作为Service mesh (https://lyft.github.io/envoy/)
下面的段落在高层回顾了这些工具 - 如果你已经熟悉或者对背景不感兴趣可以跳过。
译注:Service mesh不太好用中文翻译出来,这篇文章
https://blog.buoyant.io/2016/10/04/a-service-mesh-for-kubernetes-part-i-top-line-service-metrics/
介绍了Service mesh的关键特性:
- Baseline resilience: retry budgets, deadlines, circuit-breaking.
- Top-line service metrics: success rates, request volumes, and latencies.
- Latency and failure tolerance: Failure- and latency-aware load balancing that can route around slow or broken service instances.
- Distributed tracing a la Zipkin and OpenTracing
- Service discovery: locate destination instances.
- Protocol upgrades: wrapping cross-network communication in TLS, or converting HTTP/1.1 to HTTP/2.0.
- Routing: route requests between different versions of services, failover between clusters, etc.
阿里技术体系的同学看到这就会明白,这些指的都是在应用下层,支撑服务型应用的中间件体系。
对应到上面的特性,我们有:
- sentinel限流平台
- alimetric设施
- 集群间hsf流量调度duct
- 集群间http流量调度vipserver
- 分布式追踪工具鹰眼
- 服务发现设施config server
- 至于不同服务版本的流量调度,目前有一些微灰度产品。
文章来自微信平台「麦芽面包」(微信扫描二维码关注)。未经允许,禁止转载。

【译】Envoy with Nomad and Consul (一)的更多相关文章
- Ubuntu & Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践
相关博文: Ubuntu 简单安装 Docker Mac OS.Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和简单使用 阅读目录: Docker 运行 C ...
- nomad的简易集群
启动服务器 第一步是为服务器创建配置文件.无论是从下载的文件github,或粘贴到一个名为server.hcl: vim server.hcl # Increase log verbosity log ...
- 单节点下使用docker部署consul
部署consul 目前Consul使用的版本是: v1.0.1 本教程适用于刚刚开始学习consul并简单使用consul的同学,可以在短时间内了解conusl,配合官方文档https://www.c ...
- Nomad入门
Nomad 简介 Nomad是一个管理机器集群并在集群上运行应用程序的工具. Nomad的特点: 支持docker,Nomad的job可以使用docker驱动将应用部署到集群中. Nomad安装在li ...
- Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践
相关博文: Ubuntu 简单安装 Docker Mac OS.Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和简单使用 阅读目录: Docker 运行 C ...
- nomad 集群搭建
比较简单的集群搭建 一个server 三个client (单机) 参考代码 https://github.com/rongfengliang/nomad-cluster-demo server 配置 ...
- nomad 安装(单机)试用
备注: nomad 可以实现基础设施的调度管理,类似kubernetes ,但是在多云以及多平台支持上比较好, 还是hashicrop 工具出品的,很不错,同时本地测试因为使用默认的 ...
- Consul 入门-运行
HashiCorp Consul 是由 HashiCorp 公司开发的,它是一家专注于 DevOps 工具链的公司,旗下的明星级产品包括 Vagrant.Terraform.Vault.Nomad 以 ...
- NET Core 2.0 微服务跨平台实践
NET Core 2.0 微服务跨平台实践 相关博文: Ubuntu 简单安装 Docker Mac OS.Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和 ...
随机推荐
- Maven工程webinfo下面的JSP页面无法加载.js、.css文件的解决方案
--下面是我的工程路径 --我jsp的写法 -----启动工程,访问js文件的路径是这样的, href="http://localhost:8080/activiti/css/public. ...
- 封装Web Uploader 上传插件、My97DatePicker、百度 编辑器 的使用 (ASP.NET MVC)
Web Uploader: WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优 ...
- 【HDOJ 1286】找新朋友
找新朋友 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissi ...
- DbVisualizer:Oracle触发器,解决ORA-04098: 触发器 'USER.DECTUSERTEST_TRI' 无效且未通过重新验证
我没有用orcal的管理工具,而是用的DbVisualizer 9.5.2,管理数据库. 场景:需要在oracle里面实在自增字段,在网上一搜一堆文档,然后自己就找了一段自己写如下: drop tab ...
- MySQL之改_update
MySQL增删改查之改_update UPDATE语句 进行数据记录的更新. 1.更新单个表中的值 语法: UPDATE [IGNORE] table_reference SET col_name1= ...
- MongoDB大数据高并发读写性能测试报告
服务器大小: 单节点部署,磁盘1T,内存128G 并发导入规模: 1,多线程并发导入csv文件 2,csv文件分1万.10万.100万.200万行记录4种大小 3,每个csv对应一个collectio ...
- springmvc 导出excel
1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...
- 跟着刚哥学习Spring框架--创建HelloWorld项目(一)
1.Spring框架简介 Spring是一个开源框架,Spring是在2003年兴起的一个轻量级的开源框架,由Rod johnson创建.主要对JavaBean的生命周期进行管理的轻量级框架,Spri ...
- selenium+python
最近在学习selenium自动化测试,但是一直遇到一个问题,总是打不开指定的网址,今天突然成功了, 主要原因是因为selenium版本太低的缘故,所以只需要在终端输入:pip install -U s ...
- self 和 super 关键字
self 相当于 java中的this self使用总结 1.self谁调用当前方法,self就代表谁 2.self在对象方法中,self代表当前对象 3.self在类方法中个,self代表类 [se ...