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

    文章

    8093

    浏览量

    146981
  • 容器
    +关注

    关注

    0

    文章

    554

    浏览量

    23319
  • 微服务
    +关注

    关注

    0

    文章

    152

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    全新云原生系统精讲与全流程落地实践 - 慕课网JZIT

    (变更了Nacos配置或Istio路由权重),ArgoCD自动同步到集群。 最终落地效果对比 : 维度 传统运维 云原生全流程落地 配置变更 重启服务,停机影响 毫秒级热生效,无感知
    发表于 08-27 17:44

    高端Go语言百万并发高薪班微服务分布式高可用2025课分享

    ,是每一位后端开发者必须跨越的技术鸿沟。“Go 语言百万并发实战 17 期全程班”正是立足于这一核心痛点,引导开发者从底层的代码编写跃升至顶层的架构设计,全面深耕微服务与分布式高可用技术。(搜jzit
    发表于 08-22 10:10

    新一代微服务全家桶AlibabaCloud与SpringCloud实战|小D课堂|完结

    业务的敏捷迭代,微服务架构成为了企业级应用的主流选择。在众多微服务技术栈中,Spring Cloud Alibaba 凭借阿里巴巴在分布式领域的深厚沉淀,提供了一套开箱即用的一站式解决
    发表于 08-21 09:41

    【百度网盘】【小滴课堂】新一代微服务全家桶AlibabaCloud+SpringCloud实战

    Alibaba的深度结合,不仅解决了企业架构演进中的技术难题,更重塑了研发效能。从服务注册、流量治理到分布式事务与云原生部署,这套全家桶为开发者提供了一条平滑、可靠的
    发表于 08-20 10:17

    小滴课堂新一代微服务全家桶AlibabaCloud+SpringCloud实战[完结无密]

    峰与最终一致性,则能在保障数据同步的同时,极大提升系统的整体吞吐量。 从理论走向生产环境,云原生部署是微服务架构的必然归宿。借助 Docker 容器化技术与 Kubernetes 的弹性编排能力,
    发表于 08-20 09:26

    新一代微服务全家桶AlibabaCloud+SpringCloud实战,新一代AI全栈工程师-微服务AI智能面试对话平台

    云原生落地:Alibaba Cloud的加持 微服务架构的真正威力,需要云原生基础设施来释放。将Spring Cloud Alibaba微服务
    发表于 08-19 15:17

    新一代微服务全家桶AlibabaCloud+SpringCloud实战

    告别微服务“拼图游戏”:Spring Cloud Alibaba 企业级架构实战指南(搜jzit。top) 在云原生浪潮的推动下,微服务架构已成为
    发表于 08-19 10:05

    慕课网高薪运维必备Prometheus监控系统企业级实战

    慕课网 Prometheus 实战教程:打造云原生监控利器,铺就高薪运维之路(搜jzit。top) 在微服务架构和云原生技术全面普及的今天,企业
    发表于 08-18 10:48

    闪学itGo进阶 IM系统设计与落地,单体到微服务深度剖析-慕课网

    服务器崩溃等巨额经济损失。掌握 Go 语言及微服务架构的人才,其边际产出——即每多投入一份这样的技术人才,为企业带来的系统稳定性、用户体验提升及运维成本的降低——是巨大的。 因此,高薪
    发表于 07-18 10:58

    已完结|Go IM 架构深度拆解:单体迁移微服务落地方案

    依托其原生并发能力与高效网络编程特性,彻底破解高并发、低延迟、高可用三大核心难题。通过微服务架构的落地,系统不仅具备了极强的可扩展性,还能在降低运维成本的同时,为业务的持续增长提供坚实的技术
    发表于 07-16 14:33

    Go 进阶 IM 系统:从单体架构到微服务全流程落地实战

    Go 进阶 IM 系统:从单体架构到微服务全流程落地实战 在当今的互联网应用中,即时通讯(IM)系统已经成为不可或缺的基础设施。无论是社交软件、企业协同还是在线客服,IM 系统都在承载着核心的用户
    发表于 07-16 14:26

    小滴课堂-新版SSM-SpringBoot4.x+Spring7+Mybatis4.x-入门到实战

    、架构设计、核心编码到性能调优的全生命周期,彻底打通单体应用到分布式微服务技术任督二脉。 这不仅是一门技术教程,更是一次面向未来五年的职业投资。通过系统掌握这套全新一代SSM技术栈,
    发表于 07-12 15:27

    完结 【马哥教育】高端Go语言百万并发高薪班/微服务/分布式高可用(第17期)

    占据了绝对的统治地位。从字节的微服务架构到腾讯的云原生基建,再到各大厂的AI推理服务,Go凭借其卓越的并发性能和简洁的语法,成为了云时代的基础设施语言。然而,许多开发者在掌握了基础语法后,薪资却长期
    发表于 06-24 18:23

    新一代微服务全家桶AlibabaCloud+SpringCloud实战

    团队已经全面切换到 双云微服务架构 ——业务跑在阿里云,AI跑在华为云,数据备份在腾讯云,三家云厂商协同作战、互为容灾。这不是炫技,这是2026年企业级架构的 标准配置 。 而能设计、能落地这套架构的人
    发表于 05-18 17:04

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

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