根据康威定律,当互联网公司业务和团队发展到一定规模,微服务架构是一种必然的演化趋势。我们看看唯品会对微服务框架体系的建设及实践。

先来看一下唯品会微服务基础中台架构的设计思路。围绕微服务,唯品会自主研发了微服务框架以及一系列配套的系统:

OSP(开放服务平台)微服务框架,提供高性能、高可扩展的远程调用机制,实现了契约化多语言服务接口,同时提供了强大的服务化治理能力,可以实现负载均衡、路由选择以及自我保护等。

Service Center 统一的服务治理中心,对基础服务化项目提供的服务进行治理,将所有服务化项目的配置集中在一起,实现一处配置、多处运行的目标。

Mercury 全链路跟踪监控平台,实现了全链路调用链跟踪、指标统计、监控告警等,通过 Mercury,应用管理人员 / 架构师等可以全方位把握应用整体拓扑结构、定位全网应用瓶颈。应用开发人员可以定位线上服务性能瓶颈、持续优化代码和 SQL、帮助快速解决线上问题,IT 运维 / 监控人员可以快速故障告警和进行问题定位、把握应用性能和容联评估、提供可追溯的性能数据。

Janus 服务网关,为业务服务提供统一对外的、高性能的 HTTP 网关,针对外网支持 HTTPS、HTTP2、HTTP、自定义协议等,针对内网可以自动适配到 OSP 协议。

Salus 服务安全管理平台,面向 OSP 和 RESTful 形式的服务,提供服务安全管理的手段。

基础中间件, CfgCenter 应用配置中心实现应用配置管理,Saturn 分布式任务调度平台具备高可用以及分片并发处理能力等,Asgard 一站式存储服务平台可以实现统一管理、统一监控存储服务,VMS 消息系统具备组内广播、消息回溯、消息延时、灰度消息等。

那唯品会开发微服务框架 OSP,和 Service Mesh 有什么异同之处呢?

在设计 OSP 微服务框架之初,就已经单独抽出了代理层 Proxy,类似 Service Mesh 的 Sidecar。

客户端与微服务框架代理层 Proxy 部署在同一机器的不同进程,各自独立部署,服务治理逻辑从客户端业务逻辑中解耦出来。

和 Service Mesh 相比,OSP 所具备的优势包括:

加强运维管理,运维人员可以单独针对 Proxy 进行独立升级、维护,极大加强运维管理能力。

框架可以持续演进,Proxy 作为一个独立的代理层,与服务隔离,并且独立部署和运维,每次框架发布新版本时,无需业务研发部门介入,运维就能独立进行升级和部署,因此服务框架可以持续进行演进。

支持多语言,Proxy 采用自己的开发语言进行开发,独立演进,而每个服务均可以采用合适的开发语言,二者互不影响。

此外,在建设微服务框架体系过程中,针对不同业务体量、不同技术储备的公司,还需要思考以下几个关键点:

是选择开源微服务框架,还是选择自研微服务框架?

对于业务体量大、技术储备多的大公司,可以根据公司自身情况,考虑自研发微服务框架体系。

而中小型初创公司,由于业务体量不是很大,同时技术储备也比较少,技术人员的技术实力也不够深厚,建议选择各种开源微服务框架,构建自己公司的微服务框架体系。

是否选择自构建 Kubernetes 集群。对于有自建服务器机房且业务体量庞大的公司,选择自建 Kubernetes 集群是再好不过了。而针对中小型初创公司,建议选择云服务商,可以更快构建 Kubernetes 集群。

是否选择 Service Mesh 框架。大公司甚至大集团,业务线非常多,技术体系也比较丰富,一般会有多种开发语言并存,同时大公司的技术实力也非常雄厚,此时建议演进到 Service Mesh 框架。

而针对中小型初创公司,需要根据自身客观情况考虑,一般都是只有一种开发语言,所以针对此种情况,建议可以选择 Spring Cloud 框架、Dubbo 框架等。

企业级微服务框架落地相关推荐

  1. NB企业级微服务框架

    网站首页: https://nutzam.com/index.html Java开源企业级快速开发框架.后台管理系统,拥有完善的权限控制.代码生成器.自定义表单.动态数据库.灵活的工作流.手机APP客 ...

  2. (转)微服务框架落地实践之路

    http://www.primeton.com/read.php?id=2276&his=1 一.微服务架构产生的背景 近十年中,互联网给我们生活带来了翻天覆地的变化,消费者的生活方式日益数字 ...

  3. 企业级微服务框架 NutzBoot 2.3.0.v20190220 发布

    NutzBoot 2.3.0.v20190220 发布(没赶上元宵节). 地球在流浪,我们继续发新版^_^ 更新内容如下: 添加start-sentinel-annotation 流量防卫原生注释版 ...

  4. 做好架构师,要懂微服务,汇总微服务架构落地的15种框架

    这两年,微服务这个概念火了,火到什么程度呢?2016年有一个统计说,两千家企业里,30%在使用微服务,15%在实验开发和测试微服务架构,24%在学习微服务准备转型,只有剩下的30%的企业没有使用微服务 ...

  5. JavaEE 企业级分布式高级架构师(十三)微服务框架 SpringCloud (H 版)(1)

    Spring Cloud学习笔记 Spring Cloud入门 分布式技术图谱 Spring Cloud简介 官网介绍 百度百科 总结 Spring Cloud的国内使用情况 Spring Cloud ...

  6. 汇总微服务架构落地的6种java微服务框架

    这两年,微服务这个概念火了,火到什么程度呢?2016年有一个统计说,两千家企业里,30%在使用微服务,15%在实验开发和测试微服务架构,24%在学习微服务准备转型,只有剩下的30%的企业没有使用微服务 ...

  7. springcloud架构特点_打造企业级微服务平台架构,分布式应用场景管理

    微服务平台架构是一项在云中部署应用和服务的新技术.大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务. 微服务系统可以在"自己的程序"中运行,并通过"轻量 ...

  8. 开源推荐-C++开发的微服务框架Tars

    Tars项目于2017年4月开源,BSD3协议,至今已有5年.在软件层面,社区的版本保持稳定的迭代,支持了多语言微服务的开发和治理:在硬件层面,也移植到Arm生态上.Tars可以帮助开发人员和企业,以 ...

  9. 企业微服务中台落地实践和思想之我见

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 作者 | 朱德明 微服务和中台是这几年非常时髦随处可见的词,最先在一批互联网企业中开始谈论和建设, ...

最新文章

  1. 关于Iframe在IE6下不显示的bug
  2. 如何通过BIPlatform完成多维报表以及图形配置
  3. stack smash_扶手椅VGUX:Super Smash Bros.Ultimate
  4. MotifStack:多motif序列比较和可视化
  5. 我眼中的分布式系统可观测性
  6. ubuntu php 错误,Ubuntu下如何开启PHP错误提示教程
  7. android打开相机拍照及打开相册选择照片
  8. PostgreSQL GPU 加速(HeteroDB pg_strom) (GPU计算, GPU-DIO-Nvme SSD, 列存, GPU内存缓存)
  9. Qt Creator 自动补齐变慢的解决
  10. 渗透测试工程师前景_网络安全工程师教你:Kali Linux之Metasploit渗透测试基础(一)...
  11. java 模式匹配_Java 14 模式匹配,非常赞的一个新特性!
  12. Spring安全权限管理(Spring Security的配置使用)
  13. 「 Matlab 」矩阵运算讲解
  14. 高德地图导航SDK使用
  15. mysql 图片路径用什么类型_mysql数据库怎么存图片路径
  16. Java常用工具类(六):文件、资源、IO流工具类
  17. Ubuntu16.04调整屏幕分辨率至1920*1080
  18. MySQL优化之Explain
  19. 【使用switch语句】 用C语言编程实现输入年、月、日,编程求这一日是该年中的第几天。
  20. 数字化转型, ERP加速衰落 or 激流勇进?

热门文章

  1. java线程-保护性暂停(wait,notify实现)
  2. java mysql数据库封装_java-jdbc封装连接数据库工具
  3. mysql 5.6 互为主从_mysql5.6主从同步,互为主从配置
  4. 怎么做 空间杜宾模型_企业营销怎么做?深度解析STP模型及案例,一步成高手...
  5. C++函数指针解引用
  6. pyqt tableWidget 单元格设置颜色
  7. 乐观锁与悲观锁——解决并发问题
  8. MySQL/MariaDB查询执行路径
  9. RxJava初入学习(一)之Gifts-for-designers
  10. 抢车位中的排名bug(比較使用了无符号数)