0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

云原生技术将是企业落地微服务的优秀伴侣

如意 来源:今日头条 作者:AI课工场 2020-10-08 14:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着技术的发展,我们云托管时代逐步的向云原生演进了。所谓云原生,就是将微服务、DevOps的架构理念与云所提供的容器、Serverless无服务器更好的结合,提升资源的使用效率,提高研发运维效率。那么在云原生时代,微服务应该如何与云原生相辅相成呢?

我们来看看微服务的定义,即将一个单体应用拆分成多个微服务,由微服务来一起协同对外提供服务支持。在微服务的运行中就存在这三个问题:

1、如何管理微服务的生命周期;

2、如何治理不同技术栈微服务之间的通信;

3、如何处理不同技术栈的微服务请求?

对于如何管理微服务的生命周期,我们来一起看看。最初服务都是单体式的,上线时直接部署某些机器资源上就可以了,当出现异常时,直接下线该机器上的服务版本,服务与资源的关系是比较简单的,没有动态的依赖关系。当我们把服务拆分成微服务之后,不同的微服务部署在不同的机器上,最后组成整个应用呈现给到用户,此时服务与资源的关系变得复杂起来了。如果应用是由不同的技术栈开发实现,比如有的微服务用C++、有的用Java、有的用PHP、有的用Golang,那么部署每个服务时还需要在机器上安装对应的运行环境,整个应用的运维成本又增加了。

但是在云原生时代,有了容器如Docker、容器平台技术如Kubernetes把这一切都变得简单了。Docker容器技术通过标准的封装、标准的运行时将微服务的部署变得标准化,Kubernetes技术则是把已经标准化的微服务便捷的运行在机器上,运维人员不再需要将微服务分配到某个具体的机器上,并且在Kubernetes中的Pod模型对外提供了单个容器运行状态接口、DNS地址服务,通过简单的二次开发可以看到每个微服务在哪些地址上的运行状态,简化了整个微服务生命周期的管理。

对于如何治理不同技术栈微服务之间的通信,我们一起来看看,最初服务是单体式的,模块与模块之间的通信都是静态编译产生的,比较简单。当我们把服务拆分成微服务之后,模块与模块之间的通信就是动态关联的了,微服务如何找到另外一个微服务变得复杂起来。一些微服务框架,如Java的Spring简化了开发人员的负担,只要是Java系服务的开发就不用再写一遍微服务之间通信的逻辑。

但是当一个业务引入多个技术栈时,常见的如上层用Java编写,底层用Golang编写,不同微服务之间的通信框架都不一样,无疑又增加了开发人员的成本。但是在云原生时代,我们有了ServiceMesh服务网格,通过通信劫持,实现了比较好的服务间通信监测与管理。在servicemesh中,有一个sidecar边车容器的概念,它把微服务之间通信的能力从业务中抽象,单独成一个容器与微服务并行,再使用Istio所提供的管控能力,将微服务与边车容器搭成一个网状的数据平面,在这上面进行服务之间通信的配置、管理、监测。

对于如何处理不同技术栈的微服务请求,我们一起来看看,原来的外部请求通过浏览器或app进来之后,会经过应用层/网络层的负载均衡决定分发给到哪台机器去处理,单体式应用因为是一个大整体,直接分发即可,还是比较简单的,而微服务则需要经过复杂的逻辑判断给到哪个服务、哪台机器。在多技术栈开发的情况下,每个微服务框架都需要写一遍请求逻辑。但是在云原生时代,我们有了Serverless无服务器的概念,我们可以把请求类型、请求管理、请求处理的逻辑全抽出来标准化,在业务层只需要前端去调用该函数即可,后面的请求处理分发就再也不用管理了。

微服务的出现,确实推动技术向前演进了一大步,但是微服务并不是万能的,在使用它的同时,必然要承担它的复杂性所带来的成本。不过微服务确实是良药,有了云原生技术出现后,对于该良药所带来的副作用便能消解很多,云原生必定是企业落地微服务的优秀伴侣~
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    39

    文章

    8043

    浏览量

    144775
  • 容器
    +关注

    关注

    0

    文章

    536

    浏览量

    23029
  • 微服务
    +关注

    关注

    0

    文章

    150

    浏览量

    8141
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瀚高数据库深度参编国家标准《信息技术 云原生关系数据库管理系统技术要求》正式发布

    济南2026年4月15日 /美通社/ -- 近日,国家市场监督管理总局、国家标准化管理委员会正式发布国家标准 GB/T 47343-2026《信息技术 云原生关系数据库管理系统技术要求》。作为我国
    的头像 发表于 04-15 16:41 348次阅读

    汽车ASPICE落地企业高频常见问题深度汇总(下)

    二、三级供应商。 3.2 做一次ASPICE评估,整体周期需要多久? 明确结论 :ASPICE落地+评估的完整周期,核心取决于企业的研发体系基础、目标等级、评估过程范围, 行业常规周期为3-12个月
    发表于 04-15 10:14

    汽车软件ASPICE落地全指南:企业高频常见问题深度汇总(上)

    将其纳入供应商审核的核心指标。 但绝大多数汽车零部件企业、车载软件供应商在首次落地ASPICE时,都会面临认知误区、选型踩坑、落地脱节等一系列问题。本文从决策选型、工具落地、基础认知三
    发表于 04-14 10:39

    Springboot+SpringData+SpringCloud微服务架构课程

      后端进阶必学:SpringCloud 微服务高可用落地实战 在互联网技术飞速迭代的今天,单体应用架构已逐渐难以承载亿级流量的重担。对于渴望突破瓶颈、迈向架构师行列的后端开发者而言,掌握微服
    的头像 发表于 03-19 16:08 367次阅读

    云原生全球广域网架构深度科普:从单点集中到全域互联

    用与资源分散部署在不同地域的虚拟私有云、线下数据中心等多个节点时,如何将这些分散的资源整合成一个逻辑统一的整体,成为企业数字化进程中的核心命题。而云原生网络架构,正
    的头像 发表于 03-10 13:40 516次阅读
    <b class='flag-5'>云原生</b>全球广域网架构深度科普:从单点集中到全域互联

    Istio服务网格生产环境性能调优的最佳实践

    随着微服务架构的普及,服务间通信的复杂度呈指数级增长。传统的应用层负载均衡和服务发现方案已经无法满足现代云原生应用的需求。Istio作为目前最成熟的
    的头像 发表于 01-20 15:40 377次阅读

    技术分享】Systemd原生服务配置最佳实践(下)

    上期我们说到sysv的规范,创建以及示例,那么我们今天就来讲讲Systemd的原生服务配置。为何要迁移到Systemd原生服务?尽管规范化的SysV脚本可临时解决问题,但可能存在以下缺
    的头像 发表于 10-29 11:40 541次阅读
    【<b class='flag-5'>技术</b>分享】Systemd<b class='flag-5'>原生</b><b class='flag-5'>服务</b>配置最佳实践(下)

    香港服务器支持Docker和Kubernetes吗?

    云原生技术成为主流的今天,Docker和Kubernetes(K8s)已成为现代化应用开发和部署的事实标准。对于选择香港服务器的开发者与企业而言,一个核心问题是:香港
    的头像 发表于 10-21 15:47 919次阅读

    华纳云VPS容器服务网格流量管理:实现微服务高效路由

    在云计算和微服务架构日益普及的今天,华纳云香港VPS凭借其优越的地缘优势和网络自由,成为众多企业部署容器化应用的热门选择。复杂的微服务架构带来了流量管理的巨大挑战。本文将深入探讨如何利用容器
    的头像 发表于 10-16 17:09 671次阅读

    如何基于Nginx构建微服务网关

    今天,我将分享我们团队如何基于Nginx构建了一个日均处理10亿+请求的微服务网关,以及踩过的那些坑。这套方案已经稳定运行2年+,经历过多次大促考验。
    的头像 发表于 09-02 16:29 972次阅读

    Jtti海外VPS微服务架构下的日志采集与分析优化方案

    随着跨境业务和分布式应用的普及,越来越多的企业在海外VPS上构建微服务架构,以提升系统扩展性和灵活性。然而,微服务化带来了一个新的挑战:日志数据分散在多个服务和节点中,若缺乏统一采集与
    的头像 发表于 08-27 17:13 703次阅读

    如何构建高可用Prometheus监控体系

    云原生时代,传统监控工具已经无法满足微服务架构的复杂需求。Prometheus凭借其Pull模式、多维数据模型和强大的查询语言PromQL,成为了CNCF毕业项目中的监控标杆。
    的头像 发表于 08-01 09:10 1020次阅读

    深度解析2025年国内SD-WAN服务商推荐机构排名TOP5

    、边缘计算大规模落地的三重驱动下,SD-WAN技术已从可选方案升级为企业网络刚需。面对市场上良莠不齐的服务商,如何选择真正具备云网融合能力且能支撑未来业务迭代的合作伙伴,成为
    的头像 发表于 07-24 13:43 316次阅读
    深度解析2025年国内SD-WAN<b class='flag-5'>服务</b>商推荐机构排名TOP5

    电商API的微服务架构优化策略

    ​ 随着电子商务的快速发展,API(应用程序编程接口)已成为电商平台的核心组件,负责连接用户、商家和后台系统。微服务架构通过将应用拆分为独立、可扩展的服务单元,显著提升了系统的灵活性和可维护性。然而
    的头像 发表于 07-23 14:30 732次阅读
    电商API的<b class='flag-5'>微服务</b>架构优化策略

    云原生环境里Nginx的故障排查思路

    本文聚焦于云原生环境下Nginx的故障排查思路。随着云原生技术的广泛应用,Nginx作为常用的高性能Web服务器和反向代理服务器,在容器化和
    的头像 发表于 06-17 13:53 1165次阅读
    <b class='flag-5'>云原生</b>环境里Nginx的故障排查思路