From d1a408ad22b0a14398a63a17e608f0d5a7028c59 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sat, 11 Aug 2018 00:54:33 +0800 Subject: [PATCH 1/4] PRF:20180508 Everything old is new again- Microservices - DXC Blogs.md @qhwdw --- ...is new again- Microservices - DXC Blogs.md | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/translated/tech/20180508 Everything old is new again- Microservices - DXC Blogs.md b/translated/tech/20180508 Everything old is new again- Microservices - DXC Blogs.md index bc8c557339..04716d5928 100644 --- a/translated/tech/20180508 Everything old is new again- Microservices - DXC Blogs.md +++ b/translated/tech/20180508 Everything old is new again- Microservices - DXC Blogs.md @@ -1,28 +1,29 @@ -老树发新芽:微服务 – DXC Blogs +老树发新芽:微服务 ====== + ![](https://csccommunity.files.wordpress.com/2018/05/old-building-with-modern-addition.jpg?w=610) 如果我告诉你有这样一种软件架构,一个应用程序的组件通过基于网络的通讯协议为其它组件提供服务,我估计你可能会说它是 … -是的,确实是。如果你从上世纪九十年代就开始了你的编程生涯,那么你肯定会说它是 [面向服务的架构 (SOA)][1]。但是,如果你是个年青人,并且在云上获得初步的经验,那么,你将会说:“哦,你说的是 [微服务][2]。” +是的,它和你编程的年限有关。如果你从上世纪九十年代就开始了你的编程生涯,那么你肯定会说它是 [面向服务的架构][1] Service-Oriented Architecture(SOA)。但是,如果你是个年青人,并且在云上获得初步的经验,那么,你将会说:“哦,你说的是 [微服务][2]Microservices。” 你们都没错。如果想真正地了解它们的差别,你需要深入地研究这两种架构。 -在 SOA 中,一个服务是一个功能,它是定义好的、自包含的、并且是不依赖上下文和其它服务的状态的功能。总共有两种服务。一种是消费者服务,它从另外类型的服务 —— 提供者服务 —— 中请求一个服务。一个 SOA 服务可以同时扮演这两种角色。 +在 SOA 中,服务是一个功能,它是定义好的、自包含的、并且是不依赖上下文和其它服务的状态的功能。总共有两种服务。一种是消费者服务,它从另外类型的服务 —— 提供者服务 —— 中请求一个服务。一个 SOA 服务可以同时扮演这两种角色。 -SOA 服务可以与其它服务交换数据。两个或多个服务也可以彼此之间相互协调。这些服务执行基本的任务,比如创建一个用户帐户、提供登陆功能、或验证支付。 +SOA 服务可以与其它服务交换数据。两个或多个服务也可以彼此之间相互协调。这些服务执行基本的任务,比如创建一个用户帐户、提供登录功能、或验证支付。 与其说 SOA 是模块化一个应用程序,还不如说它是把分布式的、独立维护和部署的组件,组合成一个应用程序。然后在服务器上运行这些组件。 -早期版本的 SOA 使用面向对象的协议进行组件间通讯。例如,微软的 [分布式组件对象模型 (DCOM)][3] 和使用 [通用对象请求代理架构 (CORBA)][5] 规范的 [对象请求代理 (ORBs)][4]。 +早期版本的 SOA 使用面向对象的协议进行组件间通讯。例如,微软的 [分布式组件对象模型][3] Distributed Component Object Model(DCOM) 和使用 [通用对象请求代理架构][5]Common Object Request Broker Architecture(CORBA) 规范的 [对象请求代理][4] Object Request Broker(ORB)。 -用于消息服务的最新版本,比如 [Java 消息服务 (JMS)][6] 或者 [高级消息队列协议 (AMQP)][7]。这些服务通过企业服务总线 (ESB) 进行连接。基于这些总线,来传递和接收可扩展标记语言(XML)格式的数据。 +用于消息服务的最新的版本,有 [Java 消息服务][6] Java Message Service(JMS)或者 [高级消息队列协议][7]Advanced Message Queuing Protocol(AMQP)。这些服务通过企业服务总线Enterprise Service Bus(ESB) 进行连接。基于这些总线,来传递和接收可扩展标记语言(XML)格式的数据。 -[微服务][2] 是一个架构样式,其中的应用程序以松散耦合的服务或模块组成。它适用于开发大型的、复杂的应用程序的持续集成/持续部署(CI/CD)模型。一个应用程序就是一堆模块的汇总。 +[微服务][2] 是一个架构样式,其中的应用程序以松散耦合的服务或模块组成。它适用于开发大型的、复杂的应用程序的持续集成Continuous Integration/持续部署Continuous Deployment(CI/CD)模型。一个应用程序就是一堆模块的汇总。 -每个微服务提供一个应用程序编程接口(API)端点。它们通过轻量级协议连接,比如,[表述性状态转移 (REST)][8],或 [gRPC][9]。数据倾向于使用 [JavaScript 对象标记 (JSON)][10] 或 [Protobuf][11] 来表示。 +每个微服务提供一个应用程序编程接口(API)端点。它们通过轻量级协议连接,比如,[表述性状态转移][8] REpresentational State Transfer(REST),或 [gRPC][9]。数据倾向于使用 [JavaScript 对象标记][10] JavaScript Object Notation(JSON)或 [Protobuf][11] 来表示。 -这两种架构都可以用于去替代以前老的整体式架构,整体式架构的应用程序被构建为单个自治的单元。例如,在一个客户机 - 服务器模式中,一个典型的 Linux、Apache、MySQL、PHP/Python/Perl (LAMP) 服务器端应用程序将去处理 HTTP 请求、运行子程序、以及从底层的 MySQL 数据库中检索/更新数据。所有这些应用程序”绑“在一起提供服务。当你改变了任何一个东西,你都必须去构建和部署一个新版本。 +这两种架构都可以用于去替代以前老的整体式架构,整体式架构的应用程序被构建为单个的、自治的单元。例如,在一个客户机 —— 服务器模式中,一个典型的 Linux、Apache、MySQL、PHP/Python/Perl (LAMP) 服务器端应用程序将去处理 HTTP 请求、运行子程序、以及从底层的 MySQL 数据库中检索/更新数据。所有这些应用程序“绑”在一起提供服务。当你改变了任何一个东西,你都必须去构建和部署一个新版本。 使用 SOA,你可以只改变需要的几个组件,而不是整个应用程序。使用微服务,你可以做到一次只改变一个服务。使用微服务,你才能真正做到一个解耦架构。 @@ -30,7 +31,7 @@ SOA 服务可以与其它服务交换数据。两个或多个服务也可以彼 说了这么多,到底意味着什么呢?微服务就是 SOA 在容器和云计算上的变种。 -老式的 SOA 并没有离我们远去,但是,因为我们持续将应用程序搬迁到容器中,所以微服务架构将越来越流行。 +老式的 SOA 并没有离我们远去,而因为我们不断地将应用程序搬迁到容器中,所以微服务架构将越来越流行。 -------------------------------------------------------------------------------- @@ -39,7 +40,7 @@ via: https://blogs.dxc.technology/2018/05/08/everything-old-is-new-again-microse 作者:[Cloudy Weather][a] 选题:[lujun9972](https://github.com/lujun9972) 译者:[qhwdw](https://github.com/qhwdw) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From f1bf240e381d12c4d3e4f057b3c95096e4d014cb Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sat, 11 Aug 2018 00:54:53 +0800 Subject: [PATCH 2/4] PUB:20180508 Everything old is new again- Microservices - DXC Blogs.md @qhwdw https://linux.cn/article-9910-1.html --- ...0508 Everything old is new again- Microservices - DXC Blogs.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/tech => published}/20180508 Everything old is new again- Microservices - DXC Blogs.md (100%) diff --git a/translated/tech/20180508 Everything old is new again- Microservices - DXC Blogs.md b/published/20180508 Everything old is new again- Microservices - DXC Blogs.md similarity index 100% rename from translated/tech/20180508 Everything old is new again- Microservices - DXC Blogs.md rename to published/20180508 Everything old is new again- Microservices - DXC Blogs.md From f4c0423cb6ed65d89f27edfa9b460a1874e0f1e5 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sat, 11 Aug 2018 09:59:27 +0800 Subject: [PATCH 3/4] PRF:20180524 How CERN Is Using Linux and Open Source.md @jessie-pang --- ...How CERN Is Using Linux and Open Source.md | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/translated/tech/20180524 How CERN Is Using Linux and Open Source.md b/translated/tech/20180524 How CERN Is Using Linux and Open Source.md index 76c8f611d4..492376d49d 100644 --- a/translated/tech/20180524 How CERN Is Using Linux and Open Source.md +++ b/translated/tech/20180524 How CERN Is Using Linux and Open Source.md @@ -2,18 +2,16 @@ ============================================================ ![CERN](https://www.linux.com/sites/lcom/files/styles/rendered_file/public/atlas-cern.jpg?itok=IRLUYCNQ "CERN") ->欧洲核子研究组织(简称 CERN)依靠开源技术处理大型强子对撞机生成的大量数据。ATLAS(超环面仪器,如图所示)是一种探测基本粒子的通用探测器。(图片来源:CERN)[经许可使用][2] + +>欧洲核子研究组织(简称 CERN)依靠开源技术处理大型强子对撞机生成的大量数据。ATLAS(超环面仪器,如图所示)是一种探测基本粒子的通用探测器。(图片来源:CERN) -[CERN][3] - -[CERN][6] 无需过多介绍了吧。CERN 创建了万维网和大型强子对撞机(LHC),这是世界上最大的粒子加速器,就是通过它发现了 [希格斯玻色子][7]。负责该组织 IT 操作系统和基础架构的 Tim Bell 表示,他的团队的目标是“为全球 13000 名物理学家提供计算设施,以分析这些碰撞、了解宇宙的构成以及是如何运转的。” +[CERN][6] 无需过多介绍了吧。CERN 创建了万维网World Wide Web(WWW)和大型强子对撞机Large Hadron Collider(LHC),这是世界上最大的粒子加速器particle accelerator,就是通过它发现了 [希格斯玻色子][7]Higgs boson。负责该组织 IT 操作系统和基础架构的 Tim Bell 表示,他的团队的目标是“为全球 13000 名物理学家提供计算设施,以分析这些碰撞,了解宇宙的构成以及是如何运转的。” CERN 正在进行硬核科学研究,尤其是大型强子对撞机,它在运行时 [生成大量数据][8]。“CERN 目前存储大约 200 PB 的数据,当加速器运行时,每月有超过 10 PB 的数据产生。这必然会给计算基础架构带来极大的挑战,包括存储大量数据,以及能够在合理的时间范围内处理数据,对于网络、存储技术和高效计算架构都是很大的压力。“Bell 说到。 -### [tim-bell-cern.png][4] +![Tim Bell](https://www.linux.com/sites/lcom/files/styles/floated_images/public/tim-bell-cern.png?itok=5eUOpip- "Tim Bell") -![Tim Bell](https://www.linux.com/sites/lcom/files/styles/floated_images/public/tim-bell-cern.png?itok=5eUOpip- "Tim Bell") -Tim Bell, CERN [经许可使用][1] Swapnil Bhartiya +*Tim Bell, CERN* 大型强子对撞机的运作规模和它产生的数据量带来了严峻的挑战,但 CERN 对这些问题并不陌生。CERN 成立于 1954 年,已经 60 余年了。“我们一直面临着难以解决的计算能力挑战,但我们一直在与开源社区合作解决这些问题。”Bell 说,“即使在 90 年代,当我们发明万维网时,我们也希望与人们共享,使其能够从 CERN 的研究中受益,开源是做这件事的再合适不过的工具了。” @@ -29,19 +27,20 @@ CERN 帮助 CentOS 提供基础架构,他们还组织了 CentOS DoJo 活动( 除了 OpenStack 和 CentOS 之外,CERN 还是其他开源项目的深度用户,包括用于配置管理的 Puppet、用于监控的 Grafana 和 InfluxDB,等等。 -“我们与全球约 170 个实验室合作。因此,每当我们发现一个开源项目的可完善之处,其他实验室便可以很容易地采纳使用。“Bell 说,”与此同时,我们也向其他项目学习。当像 eBay 和 Rackspace 这样大规模的安装提高了解决方案的可扩展性时,我们也从中受益,也可以扩大规模。“ +“我们与全球约 170 个实验室合作。因此,每当我们发现一个开源项目的改进之处,其他实验室便可以很容易地采纳使用。”Bell 说,“与此同时,我们也向其他项目学习。当像 eBay 和 Rackspace 这样大规模的装机量提高了解决方案的可扩展性时,我们也从中受益,也可以扩大规模。“ ### 解决现实问题 2012 年左右,CERN 正在研究如何为大型强子对撞机扩展计算能力,但难点是人员而不是技术。CERN 雇用的员工人数是固定的。“我们必须找到一种方法来扩展计算能力,而不需要大量额外的人来管理。”Bell 说,“OpenStack 为我们提供了一个自动的 API 驱动和软件定义的基础架构。”OpenStack 还帮助 CERN 检查与服务交付相关的问题,然后使其自动化,而无需增加员工。 -“我们目前在日内瓦和布达佩斯的两个数据中心运行大约 280000 个核心(cores)和 7000 台服务器。我们正在使用软件定义的基础架构使一切自动化,这使我们能够在保持员工数量不变的同时继续添加更多的服务器。“Bell 说。 +“我们目前在日内瓦和布达佩斯的两个数据中心运行大约 280000 个处理器核心和 7000 台服务器。我们正在使用软件定义的基础架构使一切自动化,这使我们能够在保持员工数量不变的同时继续添加更多的服务器。“Bell 说。 -随着时间的推移,CERN 将面临更大的挑战。大型强子对撞机有一个到 2035 年的蓝图,包括一些重要的升级。“我们的加速器运转三到四年,然后会用 18 个月或两年的时间来升级基础架构。在这维护期间我们会做一些计算能力的规划。“Bell 说。CERN 还计划升级高亮度大型强子对撞机,会允许更高光度的光束。与目前的 CERN 的规模相比,升级意味着计算需求需增加约 60 倍。 +随着时间的推移,CERN 将面临更大的挑战。大型强子对撞机有一个到 2035 年的蓝图,包括一些重要的升级。“我们的加速器运转三到四年,然后会用 18 个月或两年的时间来升级基础架构。在这维护期间我们会做一些计算能力的规划。 +”Bell 说。CERN 还计划升级高亮度大型强子对撞机,会允许更高光度的光束。与目前的 CERN 的规模相比,升级意味着计算需求需增加约 60 倍。 “根据摩尔定律,我们可能只能满足需求的四分之一,因此我们必须找到相应的扩展计算能力和存储基础架构的方法,并找到自动化和解决方案,例如 OpenStack,将有助于此。”Bell 说。 -“当我们开始使用大型强子对撞机并观察我们如何提供计算能力时,很明显我们无法将所有内容都放入 CERN 的数据中心,因此我们设计了一个分布式网格结构:位于中心的 CERN 和围绕着它的级联结构。“Bell 说,“全世界约有 12 个大型一级数据中心,然后是 150 所小型大学和实验室。他们从大型强子对撞机的数据中收集样本,以帮助物理学家理解和分析数据。“ +“当我们开始使用大型强子对撞机并观察我们如何提供计算能力时,很明显我们无法将所有内容都放入 CERN 的数据中心,因此我们设计了一个分布式网格结构:位于中心的 CERN 和围绕着它的级联结构。”Bell 说,“全世界约有 12 个大型一级数据中心,然后是 150 所小型大学和实验室。他们从大型强子对撞机的数据中收集样本,以帮助物理学家理解和分析数据。” 这种结构意味着 CERN 正在进行国际合作,数百个国家正致力于分析这些数据。归结为一个基本原则,即开源不仅仅是共享代码,还包括人们之间的协作、知识共享,以实现个人、组织或公司无法单独实现的目标。这就是开源世界的希格斯玻色子。 @@ -49,9 +48,9 @@ CERN 帮助 CentOS 提供基础架构,他们还组织了 CentOS DoJo 活动( via: https://www.linux.com/blog/2018/5/how-cern-using-linux-open-source -作者:[SWAPNIL BHARTIYA ][a] +作者:[SWAPNIL BHARTIYA][a] 译者:[jessie-pang](https://github.com/jessie-pang) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 2ec1998e93a77b7ca26a572742cb9a307a25d123 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Sat, 11 Aug 2018 10:00:05 +0800 Subject: [PATCH 4/4] PUB:20180524 How CERN Is Using Linux and Open Source.md @jessie-pang https://linux.cn/article-9911-1.html --- .../20180524 How CERN Is Using Linux and Open Source.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/tech => published}/20180524 How CERN Is Using Linux and Open Source.md (100%) diff --git a/translated/tech/20180524 How CERN Is Using Linux and Open Source.md b/published/20180524 How CERN Is Using Linux and Open Source.md similarity index 100% rename from translated/tech/20180524 How CERN Is Using Linux and Open Source.md rename to published/20180524 How CERN Is Using Linux and Open Source.md