在过去几年里,微服务架构是一个非常热门的技术名词。秦苍科技买单侠也在微服务方面做了大量的投资和实践,有开发、测试、准生产、生产四套环境,每套环境有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万+,进行全方位营销。重新审度产业发展航向,共话行业新方向,让科技与产业结合。
买单侠以"你的梦想 我来买单"为宗旨,是国内领先的互联网科技公司。买单侠具有全自动的审核和反欺诈中央决策引擎。不同于传统银行和小贷公司,买单侠拥有工程师、黑客、数学家、侦探一起建立的中央决策引擎。买单侠的欺诈检测和信用审核由系统自动完成。用户只需准备身份证和工资卡即可在买单侠手机客户端完成整个申请步骤,买单侠的风控系统会在用户开始注册的第一秒持续进行数据采集和分析,整个申请过程会产生大约10,000个数据点。最终买单侠会根据申请者给出的数据进行评估,从申请到批准/拒绝的时间平均2.8分钟。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。