博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微服务概念
阅读量:4049 次
发布时间:2019-05-25

本文共 771 字,大约阅读时间需要 2 分钟。

微服务(架构)定义

微服务架构,是以专注于单一责任的小型功能模块为基础、通过API集相互通信的方式完成复杂业务系统搭建的一种设计思想

微服务四个特点(来自马丁.福勒):

  • 根据业务模块划分服务种类。
  • 每个服务可以独立部署并且互相隔离。
  • 通过轻量的 API 调用服务。
  • 服务需要保证良好的高可用性。

微服务(架构)优点【相对单体架构】

微服务带来的好处:

  • 开发效率更高
  • 沟通成本更低
  • 响应速度更快
  • 迭代周期更短

实施微服务准备工作

从五个方面来谈:

  • 业务拆分,体现在设计环节:在设计的时候,要有足够的判断力来合理的规划服务之间的界限。
  • 服务治理,底层技术的支持:首先要选一款适合自己实际情况的分布式服务基础框架,对于服务的发现、治理、熔断、降级,都要做好相应的技术准备。
  • 自动测试,一定要自动化。微服务一个明显的表象就是随着服务的增多,如果继续沿用传统的测试模式就会遇到瓶颈,为了保证高效的迭代,尽量做到更多的环节实现自动化。
  • 自动运维 :微服务拆分之后,每个服务都可以独立部署,进而言之应该是随时随地可以升级。尤其当互联网发展到今天,业务要保持对市场变化的一个高效响应,自动化运维就是提升交付速度的一个重要环节。
  • 监控:包括硬件环境、服务状态、系统健康度、接口调用情况、异常的实时告警以及潜在问题的事先预警等等。监控在实施微服务过程中会重要到什么程度呢?一句话:没准备好监控,就不要搞微服务。

微服务不是银弹

“警惕”,微服务不是银弹,

  • 远程调用带来的性能损耗
  • 强一致性到最终一致性的妥协
  • 跨服务的测试更复杂
  • 运维工作更具挑战性
  • 需要强大的整体规划能力

微服务架构适合应用场景

什么时侯需要采用微服务架构呢,我认为有三种场景可以考虑使用微服务架构:

  • 规模大(团队超10人)
  • 业务复杂度高(超过5个子模块)
  • 需要长期演进(开发、维护周期超半年)

转载地址:http://sxbci.baihongyu.com/

你可能感兴趣的文章
No.182 - LeetCode1325 - C指针的魅力
查看>>
mysql:sql alter database修改数据库字符集
查看>>
mysql:sql truncate (清除表数据)
查看>>
yuv to rgb 转换失败呀。天呀。谁来帮帮我呀。
查看>>
yuv420 format
查看>>
yuv420 还原为RGB图像
查看>>
LED恒流驱动芯片
查看>>
驱动TFT要SDRAM做为显示缓存
查看>>
使用file查看可执行文件的平台性,x86 or arm ?
查看>>
qt5 everywhere 编译summary
查看>>
qt 创建异形窗体
查看>>
可重入函数与不可重入函数
查看>>
简单Linux C线程池
查看>>
内存池
查看>>
输入设备节点自动生成
查看>>
GNU hello代码分析
查看>>
Qt继电器控制板代码
查看>>
wpa_supplicant控制脚本
查看>>
gstreamer相关工具集合
查看>>
RS232 四入四出模块控制代码
查看>>