intext:企业_企业中的微服务:敌是友?

intext:企业

宏观问题的微观解决方法?

微服务的炒作无处不在,尽管业界似乎无法就确切的定义达成共识,但我们一再被告知,从单一应用程序转向由小型服务组成的面向服务的体系结构(SOA)是正确的方法。构建和发展软件系统。 但是,目前没有传统的“企业”组织谈论采用微服务。 这篇博客文章是对较大文章的预览,该文章探讨了企业中微服务的使用。

界面–良好的合同造就了好邻居

无论您是开始新建的微服务项目,还是要负责将现有的整体结构分解为服务,首要任务是定义新组件的边界和相应的应用程序编程接口(API)。

与使用传统的面向企业服务的体系结构(SOA)方法通常实现的服务相比,微服务体系结构中建议的服务粒度要更好,但是可以说SOA的初衷是创建可重用业务功能的内聚单元,甚至如果实施历史讲述了一个不同的故事。

新建的微服务项目通常具有更大的灵活性,并且初始设计阶段可以使用服务提供者和使用者之间的明确责任和合同(例如,使用使用者驱动的合同 )来定义域驱动设计(DDD )启发的受限上下文。

但是,典型的棕地项目必须寻求在现有应用程序中创建“ 接缝 ”,并实现与接缝接口集成的新(或提取)服务。 目标是使每个服务具有高凝聚力和松散耦合; 服务接口的设计是这些原则的种子。

通信–同步与异步

实际上,我们发现许多企业将需要在其服务中同时提供同步和异步通信。 值得注意的是,尽管这些框架所解决的许多挑战仍然存在,但行业内仍有相当大的动力要摆脱公认的“重量级” WS- *通信标准(例如WSDL,SOAP,UDDI)。服务发现,服务描述和合同协商(如Greg Young在muCon微服务会议上的最新演讲中非常简洁地阐述 )。

中间件–传统企业如何应对?

尽管许多重量级的Enterprise Service Bus ESB可以执行一些非常巧妙的路由,但它们经常被部署为黑匣子。 吉姆·韦伯(Jim Webber)曾开玩笑说ESB应该代表“ Egregious Spaghetti Box”,因为在专有ESB中执行的操作并不透明,而且通常很复杂。

如果要求指示使用ESB(例如,消息拆分或基于策略的路由),则应考虑使用开源轻量级ESB实现(例如Mule ESB或Fuse ESB) 。

我通常发现轻量级的MQ平台(例如RabbitMQ或ActiveMQ )更适合,因为我们认为SOA通信的当前趋势是朝着“ 哑管道和智能端点 ”迈进,除了消除潜在的供应商费用和锁定之外,它的其他好处使用轻量级的MQ技术可以简化部署,管理和简化测试。

部署微服务–有多难?

无论您选择构建微服务,使用连续集成样式的构建管道都是至关重要的,该管道包括针对功能需求,容错,安全性和性能的严格自动化测试。 可以说,手动质量保证和分阶段评估的经典SOA方法不再适用于“ 速度取胜 ”且快速创新和试验的能力是竞争优势的经济(如精益创业运动所体现的那样)。

您的应用程序的行为可能会在基于微服务的平台中浮现出来,尽管没有什么可以替代对您的生产堆栈中进行全面而普遍的监视,但是在您的组件暴露给客户之前先进行锻炼(或折磨 )的构建管道似乎是高度有益。 正如我在几次会议演示中所讨论的那样 ,一个好的构建管道应尽可能早地在目标部署环境中行使服务。

摘要– API,轻量级的comms和正确的部署

无论您是否订阅了微服务的炒作,这种架构风格似乎在所有软件开发领域中都越来越受欢迎。 本文试图为理解这个不断增长的空间中的关键概念提供入门知识,并希望提醒读者,经典企业SOA之前已经见过许多这样的问题和解决方案。 我们明智的做法是不要重新发明众所周知的“面向服务”的方向盘。

请单击此处,以获取完整的原始文章 ,该文章提供了有关JVM平台上微服务实现选项的更多信息,并讨论了持续交付的要求。 本文的一个版本最初发布在DZone 2014 Enterprise Integration Guide中 。

参考资料

完整的参考文献列表和推荐阅读的内容也可以在原始文章和最近讨论微服务业务含义的文章中找到。

翻译自: https://www.javacodegeeks.com/2015/01/microservices-in-the-enterprise-friend-or-foe.html

intext:企业

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mui hello html5 安装,HBuilder开发App Step1——环境搭建,HelloMUI 以及真机调试(示例代码)...

No1. 必须搭建java环境只需要最基础的java环境,也就是cmd下可以运行java和javac即可,具体教程请自行百度,都会有很详细的教程,这里不重点介绍。No2. 下载安装HBuilder下载完成后请将zip包解压缩到自定义的目录(windows)&#xf…

C 析构函数

C 析构函数概述C 析构函数是一个特殊的成员函数,作用与构造函数相反,它的名字是类名的前面加一个~符号,析构函数是与构造函数作用相反的函数,当对象的生命期结束时,会自动执行析构函数。C 执行析构函数的情…

前后端分离的项目部署到tomcat_前后端分离后,tomcat服务器部署和发布

打包服务端:IDEA打开项目,等待项目初始化完成,点击Build- Build Artifacts,进行打包image.png点击之后会出现下面这个小窗口,选择红框中部分:image.png这个过程就是打包了,等待打包完成之后&…

vue 侦听器侦听对象属性_不删除侦听器–使用ListenerHandles

vue 侦听器侦听对象属性听一个可观察的实例并对它的变化做出React很有趣。 做一些必要的事情来打断或结束这种聆听会变得很有趣。 让我们看看问题的根源和解决方法。 总览 这篇文章将首先讨论这种情况,然后再讨论常见的方法和问题所在。 然后,它将提供解…

华硕笔记本桌面没有显示计算机,华硕笔记本的桌面不见了,急求高手解答

满意答案下放工人2013.04.06采纳率:54% 等级:12已帮助:5701人★桌面-点击鼠标右键-点击排列图标-点击显示桌面图标★在桌面上右键点击→“属性”→桌面项→左下有个“自定义桌面”进入设置,把…

Facebook开源 C++11 组件库,真香!

Folly是Facebook open source library的缩写,提供了类似 Boost 和 std 库的功能。包括散列、字符串、向量、内存分配、位处理等,满足大规模高性能的需求。逻辑设计Folly 是一组相对独立的组件,有的简单到几个符号。对内部依赖没有限制&#x…

sentinel接入网关应用_接入容器服务Kubernetes版应用

server:port: 8090# Eurekaeureka:instance:leaseRenewalIntervalInSeconds: 10leaseExpirationDurationInSeconds: 30client:enabled: true #若希望开启Euerka支持,则置为true并将其它服务发现置为false。serviceUrl:defaultZone: http://my-eureka-ack-springclou…

undertow ssl_SSL与WildFly 8和Undertow

undertow ssl我一直在研究WildFly 8的一些安全性主题,偶然发现了一些没有很好记录的配置选项。 其中之一是用于新的Web子系统Undertow的TLS / SSL配置。 有很多关于较旧的Web子系统的文档,并且确实仍然可以使用,但是这里是使用新方法进行配置…

div alert html,基于jQuery的弹出消息插件 DivAlert之旅(一)

想着自己学习Javascript,以及Ajax、jQuery等已经有一段时间了,不过貌似还没有写过一个插件,看到jQuery官网上那么多令人眼前一亮的插件,自己今天也动心说是不是能够写一个类似的插件来瞧瞧,了解了jQuery插件的基本格式…

C++对象的动态建立

C对象的动态建立和释放在C中,如果定义的对象是静态的,在程序运行过程中,对象所占的空间是不能随时释放的。为提高内存空间的利用率,希望在需要用到对象时才建立对象,在不需要用该对象时就撤销它,释放它所占…

java字符连接字符串数组_Java中连接字符串的最佳方法

java字符连接字符串数组最近有人问我这个问题–在Java中使用运算符连接字符串是否对性能不利? 这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗。 这些是我要研究的方法: 使用运算符 使用StringBuilder 使用StringBuffer…

微型计算机使用的普通编码是,2017计算机一级考试选择题练习及答案(2)

35、一般计算机硬件系统的主要组成部件有五大部分,下列选项中不属于这五大部分的事( B )A)运算器 B)软件C)输入设备和输出设备 D)控制器36、微型计算机主机的主要组成部分有( A)。A)运算器和控制器B)CPU 和软盘C)CPU 和显示器D)CPU、内存储器和硬盘37、微型计算机硬…

C 构造函数重载

C 用参数初始化表对数据成员初始化在C 中,构造函数的函数可以通过体内赋值语句对数据成员实现初始化,C 还提供另一种初始化数据成员的方法,用参数初始化表来实现对数据成员的初始化。这种方法不在函数体内对数据成员初始化,而是在…

乐播投延迟很高_大屏也要高刷新!华为4K@120智慧屏初体验,屏幕软件都够硬

买电视就是买屏幕,华为智慧屏也不例外。可参数大而全的旗舰产品往往都有着相当高昂的售价,假如你不愿意将就千元级别的画质,希望电视能坚持更长时间,却又没有足以点满所有技能树的预算……华为新出的S系列智慧屏,大概正…

java常见性能优化_十大最常见的Java性能问题

java常见性能优化Java性能是所有Java应用程序开发人员都关心的问题,因为快速使应用程序与使其正常运行同等重要。 史蒂文海恩斯(Steven Haines)使用他在Java性能问题上的个人经验得出的结论是, 大多数问题都有共同的根本原因 。 因…

为甚 html 显示为源码,显示字符串作为美化HTML源代码

我正在开发一个ASP.NET MVC Web应用程序。在一个页面上,我有一个字符串,如下所示:This is some text !对于预览模式,我使用Html.Raw(Model.MyText),文本显示为呈现的HTML:此是一些文字!我现在想…

C语言 | 链表概述

C语言链表概述链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构,是根据需要开辟内存单元。链表有一个“头指针”变量,它存放一个地址,该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部…

笔记本电脑频繁自动重启_如何解决电脑频繁自动重启

电脑频繁自动重启的原因可能是系统问题,也可能是电脑硬件出现问题,需要经过仔细排查才能找到自动重启的原因。电脑频繁自动重启的原因一、显卡或CPU温度过高当显卡和CPU的温度达到一定温度以后,主板就会启用自动保护功能,使电脑重…

jooq_jOOQ与Hibernate:何时选择哪个

jooqHibernate已成为Java生态系统中的事实上的标准,事实上, 如果标准对您很重要 ,并且如果您将JCP与ISO,ANSI,IEEE等置于同一级别,那么Hibernate也是实际的JavaEE标准实现。 本文的目的不是讨论标准&#…

html5编辑器新手用,3款容易上手的HTML5编辑工具推荐~

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我们的生活已经时刻可见H5页面的身影,从美食到用车、从购物到求职,可以说HTML5技术对我们生活的影响是颠覆性的。今天小编就给大家推荐5款容易上手的H5页面,大家可以通过自己制作H5页面来感受一下…