Robert Whiteley translate by Grace

基于微服务的架构是未来的趋势,但是实现这种架构会面临许多困难。现代应用架构远比过去的架构复杂,因此实现微服务架构将会带来了一系列特殊的挑战,而服务网格可以帮我们解决很多问题。

最近一段时间,管理者不再专注于除错单个应用程序伺服器,相反,现代系统就像是一群牛,研究整体的行为远比单个的伺服器有意义,分散式系统就是一个典型。

微服务是一种分散式架构,目的在于通过不断调整自身以适应当前流量状况的变化,例如,有一组处理客户端请求路由的容器,改变这组容器,反过来也意味着路由表在不断变化,由此反映了应用程序端点的变化位置。与此同时,在任何架构体系中都会有过去的遗留物,从必须使用单个大型资料库伺服器的应用程序到捆绑API​​以使其看起来是以服务为重点的遗留系统。

而服务网格是当前最先进的微服务模式。它建立在容器以及容器编排之上,配有处理内部服务通讯的专用控制面。它负责协调分散式网格的微服务所需的安全性,路由,身份验证,授权和类似功能,服务网格将这些功能从应用程序(或应用程序的服务元件)中剥离出来作为可程式设计的基础元件。虽然不是所有的公司都需要如此复杂的服务网格(尽管这些公司大部分都执行著成百上千的服务),但服务网格正迅速成为那些希望执行生产级微服务的公司的预设架构。

以下是八种实现服务网格的方法,可以帮助您平滑过渡到微服务

1、改进微服务的讯息处理机制。服务网格确保你能监控到整个架构层,不仅可以跟踪到网路中的伺服器地址,还可以跟踪到传达伺服器地址资讯的讯息。例如,你可能想要跟踪“失败”讯息,但这些讯息在传统云架构中通常会丢失。服务网格的好处是既可以确保讯息的传递,又会在讯息未到达目的地时返回错误资讯。

2、利用与传统应用程序相同的运维方式。对于企业级网路来说,可定制性和灵活性是最重要的。服务网格是为适应现代分散式应用程序而设计的。但是底层的技术如入口控制器,负载均衡器,以及代理都和传统单体应用的资料层面的技术相同。在实现服务网格的过程中,组织可以利用到与运营现代、基于软体的应用程序交付基础设施相同的技术与技能。

3、灵活使用多种云服务。服务网格解决了现代应用的云网络问题。支撑起服务网格的资料平面和控制平面的技术独立于任何特定架构,因此它们可以在无论是裸机,容器还是虚拟机器的公有或私有的架构上执行。这种灵活特性甚至允许服务网格处理未来的应用程序架构,从而发挥其规模化、全球复制以及深层效能调节等优势。您的服务网格将成为运作模式化云架构场景下,一切潜在优势的实现保障。

4、提高对微服务的可见性。分散式系统的指标对于我们而言就像是一个黑盒子,而网格服务为我们提供了一种更深入观察分散式系统的指标的途径。它会随时间收集效能指标,为团队提供服务可用性的长期指标。这为操作员提供了一种观察服务可靠性和效能的方式,使他们能够逐步优化系统。

5、更高效的运维以及更有效的执行SLA(服务等级协议)。服务网格提供的追踪功能对除错和故障排除至关重要,与此同时,它也确保服务执行了服务等级协议(SLA)。服务网格执行了很多工,包括执行策略以及追踪检视这些策略是否被满足。它为管理者提供了一个可以在网路层实施云应用管理和策略的场所。

6、简化微服务实现。服务网格的另一大优点是可以轻松部署它们。过去的解决方案要求开发人员将服务内功能编码到每个微服务中。这需要重写应用程序并在不同的程式语言中维护各种库。而服务网格帮开发人员抽象了这些事务。开发人员可以简单地呼叫必要的讯息传递和服务发现功能就可以轻松的部署它们,而微服务的原始码只用包含业务逻辑相关的程式码。

7、加快新服务的上线时间。过去的库解决方案,如Finagle、Hystrix和Stubby,需要开发人员长时间的介入并且迫使开发人员将冗余功能编码到每一个服务中。另一个更简单的方法是在每个微服务中放置一个sidecar代理并将它们连线在一起,这正是服务网格所擅长的,因此未来将会有更多的云应用选择服务网格架构。简而言之,服务网格保证了开发者的生产力,使他们能够更快地将更多的服务推向市场。

8、保障服务间的通讯安全。服务之间通讯有可能跨云,跨资料中心,或者跨大陆,而服务网格保障了这些通讯的安全,它封装了所有的通讯,并且在控制器层面协调这些通讯,通过管道内加密,联络人策略和服务许可权解决了安全问题。

  • Service Mesh服务网格:是什么和为什么
  • 解读Rainbond ServiceMesh微服务架构_开源PaaS Rainbond

开源PaaS Rainbond原生支持Service Mesh服务网格,用非入侵、透明化的方式解决服务发现和注册、弹性伸缩与负载均衡、容错处理(断路器与限流)、监控与警报、数据存储与共享、日志分析等等微服务架构难题,提供开箱即用、简单强大的微服务体验。

请访问Rainbond进一步了解或试用公有云

Service Mesh服务网格:8种方式简化微服务部署相关推荐

  1. 服务网格——后 Kubernetes 时代的微服务(前言)

    目录 重要观点 阅读本文之前 Kubernetes vs Service Mesh kube-proxy 组件 kube-proxy 的缺陷 Kubernetes Ingress vs Istio G ...

  2. Envoy service mesh、Prometheus和Grafana下的微服务监控(翻译)

    原文链接:medium.com/@dnivra26/m- 如果你刚接触"Service Mesh"和"Envoy",我这里有一篇文章可以帮你入门. 这是Envo ...

  3. k8s-(七)暴露服务的三种方式

    上一篇博客总结的项目怎么部署到k8s上运行,但是运行pod ip是docker网桥的IP地址段进行分配的,通常是一个虚拟的二层网络,外部网络并没有办法访问,并且,pod ip是随时会变的,不是固定的, ...

  4. Windows注册服务的两种方式,并设置服务开机自启

    目录 第一种方式: 下载instsrv.exe和srvany.exe 用管理员身份运行"命令提示符"工具 用"注册表编辑器"将服务替换为自己需要的功能 修改完注 ...

  5. 在哪里启动oracle服务,启动Oracle服务的几种方式

    启动Oracle 服务的几种方式 启动 oracle 服务有三种方式: 1 从控制面板 2 使用 MS-DOS 命令 3 通过 OracleAdministration Assistant for W ...

  6. 微软开源 Tye 项目,可简化微服务开发

    微软近期开源了一款开发人员工具 Tye,能够用于简化微服务以及分布式应用程序的开发.测试以及部署过程.项目地址:https://github.com/dotnet/tye. 该项目负责人 Amiee  ...

  7. 一文讲透推荐系统提供web服务的2种方式

    作者丨gongyouliu 编辑丨zandy 来源 | 大数据与人工智能(ID: ai-big-data) 推荐系统是一种信息过滤技术,通过从用户行为中挖掘用户兴趣偏好,为用户提供个性化的信息,减少用 ...

  8. Windows注册服务的几种方式

    原文地址:Windows注册服务的几种方式 - BIGTREE 方式一:使用Windows自带的sc命令 1.使用管理员权限打开cmd窗口 2.注册服务命令: sc create 服务名 binpat ...

  9. 几种常见的微服务架构方案简述——ZeroC IceGrid、Spring Cloud、基于消息队列

    微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果.虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合 ...

最新文章

  1. 移动端实现复制到剪贴板
  2. Delphi中静态方法重载还是覆盖的讨论
  3. maven下载包慢解决
  4. 2017软件工程实践第二次作业
  5. ㊙️【教你用python挣零花钱】自动化简历内推,学弟直呼牛逼!!
  6. 6.4.3树和森林的遍历
  7. 基于JAVA+Swing+MYSQL的图书馆管理系统
  8. 数据:以太坊上借贷协议资金规模年内增长幅度超300%
  9. Zephyr_Bindings目录作用
  10. 【UML】免费的UML绘图工具yEd
  11. mysql命令执行cmd命令_mysql cmd常用命令
  12. mongo按季度统计_三季度国内纯碱市场总结及四季度分析
  13. 电脑本地连接,电脑出现多个“本地连接”的解决方法
  14. 三个路由器三个pc实现全网可达
  15. 张宇考前叮嘱:关于代数、级数、微分方程的三道送命题
  16. 阿里巴巴亏损114.56亿元,投资者:早有预料
  17. Java 破解谷歌翻译api,可以实现程序自动化翻译文章
  18. centos环境下测试网速
  19. html5下拉列表显示多列,多列网格样式下拉列表框美化jQuery插件
  20. 全国计算机二级十七套Excel,计算机二级MSOffice十七套题.docx

热门文章

  1. 根据两个日期字符串,格式为(YYYY-MM-DD),获取年龄,保留两位小数但不四舍五入...
  2. SQL基础实例(学生课程系统)
  3. python图像处理模块_Python图像处理库PIL的ImageEnhance模块使用介绍
  4. ggspatial | ggplot2的地图制作拓展包(1):如何添加指北针和比例尺
  5. rea t插件 vscode_VSCode构建汇编语言环境(配置VSCode自动调用dosbox编译运行MASM/TASM程序)...
  6. opencv python3 文本区域识别_使用等高线从图像中提取文本区域 - Opencv,Python
  7. microsoft visual c++全家桶_橡木桶——白兰地风味的“主宰”
  8. jquery和css的区别是什么?
  9. PTA-基础编程题目集-函数题 ……
  10. 事态升级是什么意思_俗语“头不顶桑脚不踩槐;生不睡柳死不睡杨”啥意思 有道理吗...