首页 > 其他分享 >「微服务」企业微服务架构

「微服务」企业微服务架构

时间:2024-01-18 11:31:53浏览次数:17  
标签:企业 架构 应用程序 Darren 架构师 服务 团队


首先,来自Darren的消息是,微服务架构并不是构建大规模企业应用程序的新方式。Netflix和亚马逊等公司已经实施了微服务架构,在过去几年中提供了成功的产品。

但是微服务架构适合您的组织吗?答案不是简单的是或否,但我会尝试用Darren的讲话作为指导来引导你找到答案。

微服务架构是一个将在多个方面影响您的组织的旅程 - 在文化,技术和运营方面。让我们考虑一个跨国企业的单体应用程序,该应用程序已经成熟多年并占据了市场主导地位。从软件工程师或架构师的角度来看,简化代码库的复杂区域以使其更易于维护是一种很好的做法。

那么当你遇到一个疯狂的大型Java类时,你会怎么做,这些Java类包含许多代码行和一个不幸的方法,占40%的类?一个自然(和明智)的事情是与团队进行某种形式的讨论,并提出一种策略,将类分解为多个较小的类和/或方法。现在问问自己为什么清理整体Java类很重要?

如果您的答案是更简单的单元测试,更容易进行代码审查,更改影响,那么我建议您将相同的思维过程应用于构成产品的整体服务和模块。

将monolith应用程序拆分为更小,可管理的服务有几个原因。如果您是组织中的业务负责人,以下可能是您的一些担忧:

  • 进入新市场
  • 支持创新
  • 在业务功能和系统之间创建更好的一致性
  • 改变治理结构以更好地支持快速决策
  • 快速响应新的市场条件
  • 抵御市场颠覆者

作为首席技术官或首席架构师,您有责任评估最能解决上述问题的不同解决方案,并设计符合组织愿景的系统。以下是在考虑微服务架构时需要关注的一些关键领域:

  • 多种服务之间的依赖关系管理
  • 端到端功能测试的大小
  • 快速检测故障,正常故障并快速恢复
  • 容器作为构建工件
  • 跨组织边界重用组件/模块
  • 公共使用服务的API合同
  • 监控部署生命周期的各个阶段
  • 集中式架构团队与分散式架构团队
  • 构键自动化

架构师的角色随着微服务的采用而发展,并委托他或她承担挑战性的责任,从而形成架构治理。架构治理是组织尝试开始微服务之旅的关键因素之一,因为如果没有正确的顺序,该过程将很快导致微管理而不是微服务。

将monolith分成多个可管理服务的最大优势之一是使一个小团队能够全面管理其服务的生命周期 - 开发,测试和推向生产。这意味着企业架构师不再需要承担单个服务的内部工作负担,而是高度关注整个系统中服务之间的交互。此外,架构师应密切关注系统的整体运行状况,以确保每项服务以一致的方式生成与监控相关的指标。

为开发团队提供完全的权限,以便在构建服务时选择他们选择的技术堆栈并不意味着架构师不再对其实现有任何发言权。事实上,架构师受到高度鼓励,可以教育和影响开发团队。例如,考虑到服务必须处理的数据的高度非结构化特性,架构师可以建议使用NoSQL数据库而不是关系数据库。例如,Netflix将JVM的使用标准化为一个平台,以便他们可以跨服务使用标准库。

虽然架构师之一忙于与开发团队合作,但另一个人正在与“业务”团队合作,以使技术愿景与业务愿景保持一致。这对于建筑师来说是一个重要特征,因为系统需要能够适应产品愿景或用户反馈的变化。因此,架构师需要始终掌握行业中的最新趋势,工具和框架,并准备好为给定的工作应用正确的工具。

Darren谈到了“部署耦合”的概念,强调了许多单片系统和传统企业架构需要在单个版本中将所有系统的更改同步到生产中这一事实。这反过来导致长时间运行的测试周期从未捕获任何东西,并且感觉没有人可以失败,因为一个系统未达到其截止日期意味着其他所有人都被推出。

通过使用远程调用作为集成服务的机制,可以避免部署耦合。微服务社区建议使用REST over HTTP而不是其他远程通信协议(如RPC或SOAP),因为基于非HTTP的协议往往会将您绑定到特定平台或对互操作性施加限制。通过基于用户级合同使用HTTP集成服务,开发团队可以避免永无止境的端到端测试阶段的陷阱并保持合适的速度。

然而,管理数百个服务会使组织的操作复杂化。作为一个组织,您必须确保拥有可靠的DevOps基础架构,以便处理应用程序监视和警报。正如我上面提到的,架构师必须至少标准化服务发出日志的方式,以便运营团队可以监控整体系统运行状况,并且如果需要进一步调查,则能够深入到服务级别监控。

最后,每个组织都必须努力招募,培训和留住高素质的技术人员,因为“微观团队”之间的沟通和协作需要有效,技术上的刺激以及最重要的乐趣是至关重要的!

我希望这可以解决你对大型企业中微服务架构的一些担忧。我鼓励你观看这个非常有见地的视频录制,其中Darren更详细地讨论了这些非常关注的问题。


标签:企业,架构,应用程序,Darren,架构师,服务,团队
From: https://blog.51cto.com/jiagoushipro/9305088

相关文章

  • 企业计算机服务器中了mkp勒索病毒如何处理,mkp勒索病毒解密
    网络技术的不断发展,为企业的生产运营提供了非常有利条件,但也为企业的数据安全埋下隐患,近期,众多企业的服务器遭到了mkp勒索病毒攻击,导致企业计算机服务器瘫痪无法正常工作,严重影响了企业正常生活运营。Mkp勒索病毒属于makop勒索家族,是新升级的加密程序,该勒索病毒具有较强的攻击与加......
  • 计算机服务器中了lockbit3.0勒索病毒如何处理,勒索病毒解密数据恢复
    近期,网络上的勒索病毒非常猖狂,给企业的生产运营带来了极大困难,网络技术的发展为企业的生产运营提供了极大便利,但也为企业的数据安全带来严重威胁。下面就为大家整理了以下有关lockbit3.0的处理建议。一,lockbit3.0勒索病毒特点攻击加密复杂。Lockbit3.0勒索病毒具有较强的攻击加密能......
  • 网络授时服务器 时钟同步服务器 gps时钟授时系统
    随着计算机网络规模的不断扩大,各种关键业务越来越多,口令保护、加密、电子认证等安全措施也日益显得重要,许多重要的安全措施都与时间有关。比如电子认证服务就要求加密证书的用户密码须严格与时间标记对应,该证书只在特定的时间窗口内有效,因此在该时间窗内,客户机的时间必须与服务器......
  • 到店商详架构变迁
    一、项目背景到店商详是平台为京东到店业务提供的专属商详页面,将传统电商购物路径打造成以LBS+门店属性的本地生活服务交易链路。二、架构变迁1、主站商详扩展点**优点:**到店侧仅关注业务,无需过度关注服务部署、性能优化等。**缺点:**涉及方较多,需求开发周期长,上线依赖方多;到店侧无......
  • 探索Web开发的未来——使用KendoReact服务器组件
    KendoUI是带有jQuery、Angular、React和Vue库的JavaScriptUI组件的最终集合,无论选择哪种JavaScript框架,都可以快速构建高性能响应式Web应用程序。通过可自定义的UI组件,KendoUI可以创建数据丰富的桌面、平板和移动Web应用程序。通过响应式的布局、强大的数据绑定、跨浏览器兼容......
  • 到店商详架构变迁
    一、项目背景到店商详是平台为京东到店业务提供的专属商详页面,将传统电商购物路径打造成以LBS+门店属性的本地生活服务交易链路。二、架构变迁1、主站商详扩展点  优点:到店侧仅关注业务,无需过度关注服务部署、性能优化等。缺点:涉及方较多,需求开发周期长,上线依赖方多......
  • 连接云服务器及Linux常用指令学习
    连接云服务器及Linux常用指令学习:https://blog.csdn.net/qq_50748038/article/details/126124924centos超级用户普通用户切换:https://blog.csdn.net/day_in_night/article/details/39477155?ops_request_misc=&request_id=&biz_id=102&utm_term=centeros%20%E5%88%87%E6%8D%A2%......
  • 行云部署前端架构解析-前言 | 京东云技术团队
    一个简单的自我介绍项目规模截止目前上万次代码提交,总代码行数1 超过21万行,其中人工维护的代码超过13万行,近千个文件。前端线上服务直接对接的后端服务,达十多个。跟很多应用一样,它有行云的入口,也有独立的服务,还有单独的插件接口它是行云的子应用,也是其它应用的主应......
  • Unity 游戏中的战斗系统的架构与设计
    很多刚开始做游戏的小伙伴感觉战斗系统是一个比较麻烦的部分,不知道如何设计,角色很多,职业很多,技能有好几种,还有装备相关的东西。今天这篇文章详细的讲解一个战斗系统应该如何架构与设计,你看完并搞懂它,战斗系统的架构与设计对你来说再也没有难度了。首先我们先来上一张架构图: ......
  • 实现微服务
    1、vue前端如何创建WebSocketconstsocketUrl=`ws://127.0.0.1:3000/websocket/${store.state.user.token}/`;onMounted(()=>{socket=newWebSocket(socketUrl);//WebSocket是js自带的socket.onopen=()=>{console.log("connected!");}socke......