秦苍科技买单侠:数百微服务的依赖管理

2019-07-17 17:07栏目:科技
TAG: 科技

  在过去几年里,微服务架构是一个非常热门的技术名词。秦苍科技买单侠也在微服务方面做了大量的投资和实践,有开发、测试、准生产、生产四套环境,每套环境有230+个微服务,总共有近1000个微服务。

  一项在云中部署应用和服务的新技术,将软件应用程序设计为可独立部署的服务套件的特定方式。

  尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,端点智能以及语言和数据的分散控制等方面存在着某些共同特征。

  简而言之,微服务架构是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源的API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。这些服务的集中化管理已经是最少的,它们可以用不同的编程语言编写,并使用不同的数据存储技术。

  关于微服务架构优点有很多讨论。但是,个人认为许多优点都可以算作一些“伪优点”。例如:

  从单个服务的角度而言,微服务的每个服务都很简单,只关注于一个业务功能,降低了单个服务的复杂性。但是,从整体而言,作为一种分布式系统,微服务引入额外的复杂性和问题,比如说网络延迟、容错性、异步、分布式事务等。

  从单个服务的角度而言,每个微服务可以通过不同的编程语言与工具进行开发,针对不同的服务采用更加合适的技术,也可以快速地尝试一些新技术。

  但是,从整个公司的角度来说,往往希望能够尽量统一技术栈,避免重复投资某些技术。假设某公司主要用Spring Boot和Spring Cloud来构建微服务,使用Netflix Hystrix作为服务熔断的解决方案。后来,一些微服务开始使用Node.js来实现。很快,该公司就发觉使用Node.js构建的服务无法使用已有的服务熔断解决方案,需要为Node.js技术栈重新开发。

  随着服务数量的增多,我们发觉微服务间的依赖关系越来越复杂,一个服务的改变将会波及多个服务,错误排查也相当困难。当系统有几百个服务时,这种依赖简直就是一个噩梦。

  所以,秦苍科技启动了服务治理的项目,使用服务注册和发现技术简化服务的管理,对服务进行了分组、分层,降低系统的复杂性和耦合性。

  其实,服务的管理和人员组织结构的管理非常类似。当一个组织中成员增多时,我们会将人员分为若干个小的团队,每个团队由较少的人员组成,负责某个比较独立的业务,并且会有一个团队负责人负责和其他团队的沟通。

  当组织中的成员进一步增多时,我们会将若干个团队合并为一个部门,每个部门负责某个独立的职能。

  对于微服务的管理,我们采用与组织结构管理类似的方法,把彼此紧密相关的服务构建成逻辑上的一个组。类似于组织结构中的团队负责人,该组有一个API网关,向外暴露了组中所有服务的功能。对于该组中服务的使用方来说,都通过这个API网关进行访问,仿佛这个组就是一个服务一样,无需关心该组是由多少个服务组成。

  通过分组的方式,秦苍230+个微服务变为了25个组,从而大大降低了系统逻辑上的复杂性。然后,我们把系统分为了若干层,每一层由若干个组组成。上层只可以调用下层的服务,下层不可以调用上层服务。通过分层的方式,我们降低了系统的耦合性。

  在成熟的管理模式和技术支持下,国内新锐公司秦苍科技买单侠在2016亿欧创新者年会暨第二届创新奖颁奖盛典上荣获了最具成长力企业奖。年会上超过30+行业大佬莅临,权威阵容,把握前沿动态;活动规模超千人拥有70%以上中高层占比,汇聚行业核心资源;会上还有超过150+媒体,媒体曝光率达1500万+,进行全方位营销。重新审度产业发展航向,共话行业新方向,让科技与产业结合。

今日相关新闻

  • 淄博齐翔腾达化工股份有限公司、合力泰科技股
  • 圆心惠保科技完成红杉中国领投的5000万元A轮融资
  • 广东雄塑科技集团股份有限公司关于全资子公司
  • 邵阳县经科信局长调研乡镇科技扶贫工作
  • 千方科技:拟增资入股山高信联 标的为山东高速