返回首页> 最新公告 > 你的微服务设计支持可重用并避免冗余吗?
跳过导航链接

你的微服务设计支持可重用并避免冗余吗?

文章摘要: 你的微服务设计支持可重用并避免冗余吗?微服务是代码小型的功能捆绑,旨在通过适当的使用来促进可重用并改善QoE以及可用性。如果使用不恰当的话,它们就会成为应用生命周期管理和资源效率的“噩梦”。 要想解决这一问题,你不仅仅需要把目录和注册结合起来,更要把你的微服务作为一个虚拟应用来看待,聚焦于可重...
 

你的微服务设计支持可重用并避免冗余吗?微服务是代码小型的功能捆绑,旨在通过适当的使用来促进可重用并改善QoE以及可用性。如果使用不恰当的话,它们就会成为应用生命周期管理和资源效率的“噩梦”。

要想解决这一问题,你不仅仅需要把目录和注册结合起来,更要把你的微服务作为一个虚拟应用来看待,聚焦于可重用来进行微服务设计,微服务的分类要能够确保新服务和实例能够适配,以及最后让应用架构师和ALM团队来判断创建了不必要服务的情况。 微服务应该是什么样的? 微服务本来是要促进可重用的,但是往往创建出来之后并没有达到那个目的。微服务应该是一项公司资源,应该是能保证在尽可能广泛的范围内加以重用的。对此的推论应该是任何项目创建微服务之前都应该进行审查,确定是否已经存在相同或者类似服务,以及对那些决定要新建的服务的所有应用前景进行评估。

最简单方式是把微服务当作一项广泛应用来考虑,这项应用的持续变化是由新的微服务、变更的微服务的结合来推动的,这样才能适应更广泛的使用或者撤销微服务。这个虚拟应用应该服从常规开发审查,与其他开发团队进行协调,从而确保微服务实际上得到使用并且使用得当,同时与ALM活动进行协调以确保微服务变化不会中断已有应用。

除非应用架构师习惯于在应用设计中寻找微服务的机会,并且在需要新建时创建尽可能通用的微服务,否则微服务策略就不可能取得成功。这意味着微服务使用最有效的控制过程要以专门的负责微服务审查的应用架构师小组为基础。然后由这支团队来进行这一微服务虚拟应用的协调。

在应用设计的早期阶段,其目标应该是用微服务来实现应用功能并且满足应用性能和安全需求。在开发的应用架构点做这件事可确保微服务设计针对的是可重用。如果微服务不能胜任怎么办?

如果用当前微服务不能满足一项需求的话,那么可选的做法可以用嵌入式的传统逻辑,或者增强当前微服务来适应需求,或者开发新的微服务等。嵌入式逻辑这个选项被认为是不存在广泛价值的功能,或者工作流需要外部微服务支持,会影响到体验质量(QoE)。增强当前微服务是最好的方案,对现有微服务进行最小的改造和逻辑扩展就可以满足需求(避免尴尬的功能结合)。如果这两种方案都不可行的话,那就得考虑新的微服务了。

审查每一项新的微服务以确保广泛可重用非常重要。一般而言,这是从使用一项简单的RESTful接口并且实现该服务的无状态操作开始的。这些简化了对服务的多并发使用,还可以在负载变化的情况下对服务进行水平伸缩。在此之后,尝试设计服务让它在任何应用背景下支持其功能。

解决这一问题的办法之一是审查当前应用什么地方可以或者应该使用新的的微服务。这是防止微服务在不知不觉间重复了嵌入逻辑的重要一步。发生了这样的事,只会引起性能或者安全/合规性的问题,把共同代码放入到嵌入逻辑和微服务的步骤应该要考虑避免给后面的开发者造成混淆。

下一步就是考虑以哪种方式来发现微服务。常见的办法是利用某种形式的注册,但是准确的机制应该取决于所使用的编程语言以及对微服务动态的预期。如果微服务调用是在开发时显式引入到应用代码里面的话,那么可以考虑把注册作为开发者工具,这几乎就像是一个类库一样。如果微服务调用的动态性预期更强的话,则需要运行时发现流程,这更像是SOA应用的目录。

不管是哪种情况,最佳实践都要求微服务要在欠载的情况下伸缩,这意味着注册/发现机制必须在微服务的实例数发生变化的情况下更新,必须把请求引导到一个实例来实现负载平衡。用来进行负载均衡和实例管理的机制必须包括在注册之内,不管微服务是以静态还是动态方式调用均是如此。

微服务管理的最后一步是“去重”。尽管有了控制微服务部署以及消除重叠或者完全重复的努力,一些问题还是有可能忽视的。一些问题可以在常规软件架构师的审查中发现,但另一个抓住“漏网之鱼”的机会是在ALM

如果你接受把整个微服务当作虚拟应用来看待的建议,那么你就会有ALM的步骤来专门验证微服务的变化。这些步骤可暴露任何现有微服务存在的问题。在“正常”应用层级的ALM也会要求对每一个应用相关的微服务进行测试,这个步骤会把任何审查流程漏掉的新的微服务暴露出来。一旦发生了这样的事,要对这些“行为不合常规”的微服务进行审查,要么通过合并来撤除,要么把它们添加到正规的注册表和虚拟应用流程内。

http://www.fuhenet.com/qiyeneixun.asp

 

上一篇:Red Hat升级OpenShift容器平台,可支配存储
下一篇:微软发布新的云平台技术,加速车联网进程
文章摘要: 微软发布新的云平台技术,加速车联网进程,日前,微软公司推出了基于 Azure 系统的车联网云平台技术,汽车生产商可以使用这一平台开发自己汽车品牌的车联网技术与服务。 微软商务发展部 EVP Peggy Johnson 表示,这并不是一个车用操作系统,也不是一个“已经完成开发的产品”,而是一个基于云计算的实时、便捷的平台,主要解决汽车驾驶五个核心场景问题:预测维护,提高车用生产力,先进导航,客户洞察,并帮助建立自主驾...

相关资讯

◆Oracle面临美国劳工部对工作歧视的诉讼 ◆华为连任OpenStack董事席位,持续提升开源影响力 ◆思杰收购新兴虚拟化技术公司Unidesk ◆思科:特朗普上台对美国商业有利 ◆Red Hat升级OpenShift容器平台,可支配存储 ◆微软将在Office中引入人工智能 ◆微软发Surface Pro 4/Studio固件更新日志 ◆微软:AI人工智能应该帮助,而不是替代人 ◆微软推出WDATP强化企业终端威胁防护 ◆Windows申请免费SSL证书-Let's Encrypt ◆思科ASAP助力全数字化时代数据中心创新 ◆怎样选择合适的PoE交换机? ◆思科持续保持企业基础设施市场优势 ◆网络工程师需要的8项技能 ◆思科IOS中改善CLI的用户体验 ◆H3C交换机以太网端口类型 ◆H3C交换机做DHCP ◆H3C交换机常用配置命令 ◆新华三集团总裁兼首席执行官于英涛2017年会致辞 ◆新华三加速云落地 ◆RHEL7 配置VNC远程桌面 ◆RHEL7利用iso镜像制作本地yum源 ◆RHEL6 学习笔记 ◆RedHat5和RedHat6 配置yum源详解 ◆RedHat7上为Nginx编译安装nginx_push_stream_module ◆是否有必要参加PMP考试培训 ◆该怎么选择PMP培训公司 ◆企业为什么需要IT配置管理及其如何使用 ◆PMP考试心得 ◆IT资产管理与ITIL配置管理的区别和联系 ◆Juniper用户快更新:Junos OS、SRX有DoS漏洞 ◆Juniper防火墙之恢复出厂默认设置 ◆Juniper SSG双机高可用(HA)平滑升级经验分享 ◆高盛:Juniper市场表现将超过Cisco和Arista ◆Juniper收购云管理公司AppFormix ◆F5 Network:让爱点亮世界 ◆F5发布2017年应用交付状态报告 ◆除F5外,其他负载均衡软件的优缺点 ◆负载均衡的那些算法们 ◆F5配置手册:设备初始化配置 ◆Oracle培训:Oracle数据泵导入dmp文件 ◆Oracle培训:Oracle手工建库出现ORA-01519错误 ◆Oracle培训:Oracle CDC部署 ◆Oracle培训:Oracle 12c创建可插拔数据库(PDB)及用户 ◆Oracle EXP和IMP使用方法介绍 ◆VMware中CentOS 6.6的kdump启动失败解决 ◆VMware NSX升级:微细分、安全启动和支持非vSphere环境 ◆VMware虚拟化培训:虚拟化的基础知识 ◆VMware发布2016数字化工作空间现状报告 ◆VMware助力广州科政实现恒大集团打造全虚拟化数据中心 ◆戴尔EMC补丁在VMAX存储系统中出现漏洞 ◆EMC进行SAN拆分,解决更细化的存储需求 ◆EMC数据中心全闪存年,机架级闪存可让Hadoop提速10倍 ◆EMC发布2016年新品和技术路线 ◆重新定义企业IT,EMC联手VMware推超融合 ◆最近面试的大数据岗位的公司经历 ◆用大数据预测雾霾,已获得环保部订单的微软是如何做到的? ◆大数据学习经验 ◆身处大数据时代,大数据这些误区你知道吗 ◆大数据分析促进人才招聘 ◆云计算SaaS采用要考虑的5大因素 ◆如何构建一个私有存储云 ◆云计算的三大支柱 ◆云计算的真正价值不仅仅是节省开支 ◆云计算将改变我们的生活? ◆Apache Spark也有不完美 ◆Spark将机器学习与GPU加速机制纳入自身 ◆spark作业调优 ◆Spark基本工作流程及YARN cluster模式原理 ◆从Spark 2.0版的推出,看开源大数据技术的商业化发展 ◆EasyStack郭长波当选OpenStack基金董事 ◆OpenStack私有云:好处、挑战和未来 ◆在Openstack上创建并访问Kubernetes集群 ◆思科公司关闭基于OpenStack的公共云 ◆2017年OpenStack管理员认证会不会火? ◆IBM和Bell联手共同打造苹果iOS企业应用 ◆IBM首席执行官提出人工智能部署三大基本原则 ◆调研IBM与西门子:软件将是工业的未来! ◆IBM在美获专利最多 ◆IBM闪存迎接新挑战 ◆Hadoop创始人Doug Cutting寄语2017:五种让开源项目成功的方法 ◆基于Ubuntu Hadoop的群集搭建Hive ◆HDFS以及HBase动态增加和删除节点 ◆Cloudera提供课程帮助缩小数据技能差距 ◆Cloudera提供课程帮助缩小数据技能差距 ◆扩大与Azure合作,思杰力推超融合基础设施上部署VDI ◆MapReduce工作流多种实现方式 ◆Citrix虚拟化技术:XenServer6.2资源池配置 ◆Citrix虚拟化技术:XenServer6.2虚拟机创建 ◆Citrix虚拟化技术:XenServer6.2存储管理 ◆2017年十大最热IT技能:安全位列其中 ◆筑牢个人信息安全防火墙 ◆2016年最热门的六大IT职位 ◆CISP认证和CISSP认证区别 ◆成为CISSP的理由