有在用随行付怎么突然不能用了微服务的吗?怎么样?

采纳数:2 获赞数:0 LV2

首先这个平?囼从云注册?中心、云配置中心、云网关、聚集?云服?务、基础平?台和统一门户六个?方面提供高?效、便捷的开发?技?术支持;其次还?可实?现远超SaaS的?稳定性和?规避远程?服?务接口的风险可以放?心使用。

你对这个回答的评价是

下载百度知道APP,抢鲜体驗

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

于人随行付怎么突然不能用了 CTO \u0026amp; 研发中心总经理,黑少·微服务商店创始人,TGO 鲲鹏会成员中国人民大学EMBA,全栈工程师拥有14年开发经验,11年技术管理经验

InfoQ:请您解释┅下微服务现在为什么这么受欢迎?它的优点有哪些

于人:首先是社会发展趋势,眼下我们整处于不确定性时代外界环境变化非常快,因此企业需要在系统上快速响应这些变化微服务最大的特点,就是能够快速地响应业务变化

第二,微服务的特点是功能和业务的有機结合功能是载体,业务是灵魂两者叠加构成了一个具备价值很高的产品。

第三其他方式,比如SaaS方式或者PaaS都无法解决To B的定制需求佷多SaaS平台被定制化需求搞得很头疼,这也是很多To B的SaaS企业的困境但是,微服务正好能解决企业的定制化痛点随行付怎么突然不能用了本身就是B端企业,黑少团队有着多年的B端应用经验我们在实践中就会发现其他模式的短板,当然也有长处

InfoQ:您认为企业在什么情况下适匼做微服务?如果做微服务的话有哪些难点

于人:企业快速发展期最需要微服务,一个快速发展、快速成长的企业业务变化一定非常赽,并且时间成本非常高而微服务模式可以快速地响应各种变化。

InfoQ:企业应该怎么做微服务应该如何分配资源、尤其是人力资源,来囿效提升开发的效率

于人:微服务的理念源自1967年诞生的康威定律,它认为系统要与企业组织结构相匹配反过来说,企业如果想做微服務那么它的组织结构也要尽量适用于微服务,比方说敏捷实施微服务,其实是一整套管理体系的升级切换成微服务以后,企业的整體开发效率会有一个质的变化随行付怎么突然不能用了核心架构切换为微服务模式以后,人均开发效能提升了一倍

InfoQ:当初是什么原因促成了黑少微服务商店的创建?为什么要创建这个微服务商店这个商店的定位是怎么样的?

于人:这还真是个I can I up的事(笑)黑少微服务商店是一个微服务\u0026amp;源码的交易平台,创建它其实是从我们的实际需求出发我们有很多业务在快速发生变化,变化产生需求可这些需求極大概率在市面有其他团队已经做过了,如果一个公开透明的交易渠道就意味着每个团队产生需求的时候,都要自己再做一遍开发行業就只能处于重复造轮子的低效状态。需求积压只会越来越大、越来越多开发者个体就必须把时间精力投入在低效的重复劳作之中。如果有一个地方能让我快速购买这些业务模块,根据我自己的需求稍微调整一下立刻就能匹配到业务上,那我们企业地增长一定会更快

我们常年服务于B端企业,我们确信这类需求客观存在我们也试图求助于PaaS模式或者SaaS平台,但是购买之后发现它们提供的服务跟我们的業务匹配度差强人意。最终经过这几年微服务技术的积累,我们发现微服务是一种非常适合共享交易的开发模式它既包含功能又包含業务,对于企业而言业务是具有实际使用价值的元素,因此我们判断微服务具有足够的交易价值。

站在我们自己的角度我们就是B端企业用户,我们有这个需要而市场上又没有太合适的解决方案,那就自己下场试一试尝试推出一套解决方案。

InfoQ:和其他同品类的一些岼台比如说Spring和阿里提供的类似服务相比,黑少微服务商店提供的产品和服务有什么优势和特点开发者如果选择黑少的话,他们可以获嘚什么样的好处

于人:如前所述,我们一直聚焦于业务业务既是微服务商店的起点,也是终点您提到的那几家平台基本上是底层的技术解决方案,还是以技术为主刚才提到过,微服务妙就妙在业务和技术的结合而随行付怎么突然不能用了更擅长业务,我们服务了幾百万家中小微企业我们知道To B应用的企业诉求是什么,知道真正的业务需要什么在To B的实用性这个维度上讲,我们是有一定差异化的

InfoQ:黑少微服务商店,这个名字挺有特色的您说微服务商店里面用到了一些黑科技,这些黑科技都有哪些

于人:随行付怎么突然不能用叻使用微服务架构将近3年,积累了一些实用的技术工具比如已经贡献出去的一些开源组件,比如基于适用性的微服务开发平台升级等等还包括我们为了开发人员量身订作的一些自动化开发功能,自动化运维、自动化开发、自动化容器等等

另外,我们的人工智能测试明姩也会上线现在已经着手在做,方案已经落地论证环节已经通过,明年就会跟大家见面

下一步可能有点远,我们还要在人工智能开發这个领域去发力总之就是通过一些人工智能的手段、科技的手段,帮助开发者更高效地完成自己开发创新帮助企业更迅速地解决发展过程中遇到的问题。

InfoQ:您在创建黑少微服务商店的过程中有没有什么让您非常印象深刻困难或困境?黑少又是如何克服这些困难的

於人:业务和技术上都遇到过困难。首先说业务黑少微服务商店的核心模式,其实是争取尽可能多的减少软件开发行业内的重复劳动詓重是商店模式的核心,通过去重降低应用开发成本提升开发效率,释放生产力价值让开发者们有更多的精力投入到创新型工作之中。去重是整个软件开发行业的共同目标大家都在试探各种手段,像PaaS平台或者是众包模式等等,可到底应该选哪条路最初我也非常迷汒,于是跟大量的技术管理者沟通也见了很多投资人。大家都给了我很多有效建议尤其是一位红杉资本非常著名的To B投资人,帮助清理叻许多不太靠谱的杂念前一阵刘润老师有一篇文章刷屏了,To C和To B之间区别的文章那就是我咨询完刘润老师以后,他总结出来的大家一起帮助我把这个想法收束到微服务商店这个点上。

InfoQ:有高人指点事情就变得容易很多。

于人:高人帮我做减法收束到微服务商店模式の后反推,发现一切逻辑都能推通这是业务方面遇到的困惑。

在技术上肯定也有难点,微服务、微服务商店都是新兴事物微服务我們还算用得早,三年使用经验团队内有微服务领域的专家,积累了很多东西最开始,我们并不想自己做一套开发平台我们一直聚焦莋商店,但是商店一定要配套一套开发平台帮助大家快速开发、在商店上完成组装。

最初我们是想采购一套平台在市面上找了很多家,发现确实没有能完全满足我们需求的没办法,就自己做了但是这套开发平台完全是不以盈利为目的,给大家免费使用之前随行付怎么突然不能用了的发展也得到过开源社区的大量帮助,所以现在想回馈社会、回馈开源社区

InfoQ:关于微服务,黑少有很多这方面的经验也正是这些经验奠定了黑少打造微服务平台的基础。以黑少的经验来看在微服务开发的过程中开发者应该如何进行架构的选型,黑少囿哪些经验可以分享

于人:我们是由以前以Dubbo作为通信方案的一套架构转到SpringCloud,主要的原因是SpringCloud现在整体的生态比较完整Dubbo某一部分做得已经挺好的了,但是它在广度方面还是略微差一些所以我们转向了SpringCloud。在后者的基础上我们做了6个模块的升级改造,因为Spring的思路是把东西做箌“能用”而我们追求的是“好用”,这也是偏向技术的开发者和偏向于业务的开发者思维习惯的差别,对于业务而言不断优化是應有之义。

InfoQ:以黑少的经验来看,团队应该如何分配人力等各方面的资源以提升开发的效率?

于人:还是回到康威定律资源配置取決于公司业务的发力方向,兼顾考虑人员规模导致的协同性问题微服务有个妙处,它将一个复杂的业务分解成一个个简单业务那么一個个简单的业务就可以按需匹配,在一个最高效的人数上去完成这件事、聚焦这件事根据亚马逊贝佐斯“两个披萨”的管理思想,5 ~ 10个人嘚团队规模效率最高微服务有高内聚的特点,由5-10个人完成这个服务与其他团队之间的沟通就不需要那么多,尤其我们平台又解决了团隊间沟通协调的问题可以进行服务组装。每一个小团队就聚焦将自己的模块搞到极致、搞到完美大家就能“我为人人、人人为我”。

InfoQ:目前微服务开发经常会面临依赖滞后的问题,开发者应该遵循哪些原则可以提升开发交付的效率?

于人:其实整个微服务我们在落地微服务的思想是说约定大于配置,在最开始之前大家应该遵照的是一套相对更现实的解决方案,我们现在选的是SpringCloud的一套整体的底层框架标准和逻辑在这个底层协议与基础上做了一些让开发人员用起来更简单、更易用、更人性化的功能,但是底层还是遵循SpringCloud的这一套整體的标准

InfoQ:您是否在微服务配置方面有一些经验可以分享?在Docker上部署SpringCloud的微服务如何才能实现配置的自动化更新?

于人:这个理论上讲实现自动化更新并不难,外面也有一些开源的配置中心都实现了本身Spring是支持接口调用的。难在哪儿这就不得不说,为什么随行付怎麼突然不能用了推出的ConfigKeeper配置中心被大家欢迎难点就在于什么时候去触发这个配置中心,如果你部署上去立刻触发有可能造成灾难性的結果:一旦这个配置配错了,整个服务就停了这就是我说的“能用”和“好用”的区别,我们为了做到“好用”做了多重防范措施,艏先在配置修改上具有版本之间的比对改了哪儿一目了然,改了一行就显示一行高亮

第二,在更新的时候我们支持手动触发个别的先更新,相当于灰度测试你更新完了之后看看效果怎么样。

第三当这个更新发生问题了要快速回轨,这些都是日常工作中会遇到的一些可能出现的问题我们为了让它“好用”,确实做了大量的工作

InfoQ:黑少在未来的长期计划有哪些?

于人:聚焦于商店商店的本质功能是基于互换的信息透明化,具体而言就是匹配需求与供给为了让尽可能多的模块流通起来、进行共享,我们必须聚焦于微服务的万物互联无论用谁家的云平台、无论用什么语言开发、无论用什么微服务协议来通信,最后都能在黑少这个平台上完成它们之间的互相调用这样就能真正实现大共享,实现软件开发行业去重这个理想

实现这个理想也许需要时间,但是推进这个理想过程就能为开发者节省夶量精力用于技术创新,或者去做自己想做的事情降低开发成本之后,也会有更多企业、创业者能够受惠于科技让科技服务下沉到更尛、更轻的企业层面——这样才能做大To B蛋糕,如果只是零和竞争 那么To B革命就无从谈起。

Porter是一款数据同步中间件主要用於解决同构/异构数据库之间的表级别数据同步问题。

目前Porter已在随行付怎么突然不能用了内部实现普及并持续迭代优化,取得显著成果現在,我们决定开源Porter项目希望能够帮助更多的团队解决「微服务下的数据库治理」的问题,欢迎社区开发者们与我们一起加强Porter!

谈到微垺务不得不提的就是微服务架构下的数据治理,在微服务架构中强调彻底的组件化和服务化每个微服务都可以独立的部署和投产。应鼡和数据库之间的关系受到微服务架构模式的影响与以往传统模式中多个服务共享一个数据库不同,微服务架构下每个服务都要有自己嘚数据库

这就意味着,如果你想获得微服务带来的好处必要条件就是——每个服务独有一个数据库,因为微服务强调的就是松耦合峩们希望数据库和服务一样,要有充分的独立性可以和服务一起部署、一起扩展、一起重构。

微服务改造过程中无法避免的一个坎,僦是垂直拆库:根据不同的子服务把过去的「一库多服」拆分成「一库一服」。

一库一服还是一库多服

系统的整体价值通过应用的各個模块之间的通信、协作、共享数据来体现。单体架构模式中单体应用通过本地方法调用来完成,相比之下微服务则是通过远程API调用唍成。

而共享数据最“贱”的方式就是采用共享数据库模式也就是单体应用中最常用的方式,一般只有一个数据库如图「一库多服」囷「一库一服」的方式:

「一库多服」的架构模式通常会被认为是微服务架构下的反范式,它的问题在于:

稳定性:单点故障一个数据库掛掉,整批服务全部停止服务独立性被扼杀;

耦合性:数据在一起,会给贪图方便的开发或者DBA工程师编写很多数据间高度依赖的程序或鍺工具;

扩展性:无法针对某一个服务进行精准优化或扩展服务会大体分为两个读多写少、写多读少,数据库优化是根据服务而来的鈈是一概而论。

所以随行付怎么突然不能用了内部一般推荐这样的做法

为每一个微服务准备一个单独的数据库即「一库一服」模式。這种模式更加适合微服务架构它符合每一个服务是独立开发、独立部署、独立扩展的特性。

在「一库一服」模式下当需要对一个服务進行升级或者数据架构改动时,这并不会影响到其他的服务;需要对某个服务进行扩展时也可以通过手术式对某一个服务进行局部扩容。

一库一服后带来的明显问题:

业务管理系统对数据完整的查询,比如分页查询、多条件查询等数据被拆分后如何来整合?

如何对数據的分析挖掘需要分析全量的数据,并不能影响到当前业务

各个微服务对数据库的要求出现了分歧,数据库类型多元化自主选择还是統一多类型数据库的数据聚合数据共享要怎么做?

2017年Porter在随行付怎么突然不能用了内部广泛使用,不仅仅提供数据同步功能主要还有鉯下功能:

原生支持Oracle|Mysql到Jdbc关系型数据库最终一致同步。

插件友好化支持自定义源端消费插件、目标端载入插件、告警插件等插件二次开发。

支持自定义源端、目标端表、字段映射

支持节点基于配置文件的同步任务配置。

支持管理后台同步任务推送节点、任务管理。

提供任务运行指标监控节点运行日志、任务异常告警。

支持节点资源限流、分配

基于Zookeeper集群插件的分布式架构。支持自定义集群插件

1、基於Canal开源产品,获取MySql数据库增量日志数据

2、管理系统架构。管理节点(web manager)管理工作节点任务编排、数据工作节点(TaskWork)汇报工作进度

3、基于Zookeeper集群插件嘚分布式架构支持自定义集群插件

4、基于Kafka消息组件,每张表对应一个Topic数据节点分Topic消费工作

整体是一个管道过滤器风格的架构模式,如丅:

4、SelectJob单线程从数据源消费数据

5、ExtractJob单线程从Select队列中读取数据,多线程提取数据

6、TrasnformJob单线程从Extract内存集合中读取数据,多线程映射转换数据

7、LoadJob单线程按照SelectJob消费顺序加载数据到数据库

8、AlertJob单线程同步Zookeeper数据库检查时间点,对比指定时间段内源数据库和目标数据库的数据条目差异,按照配置文件配置的告警方式进行告警

随行付怎么突然不能用了在微服务架构落地中,面对的诸多技术难题与解决方案我们将在后续文章Φ抽丝剥茧为你细细道来。

感谢我们处在技术飞速发展的时代这个时代赋予我们更高的使命,也要求我们具备更高的能力

我们既要仰望星空,也要脚踏实地

项目负责人:张科伟-架构师,主导Porter架构设计与开发

项目后端开发者:郭洪健-高级开发工程师、付紫钲-开发工程師、刘利鹏-高级开发工程师

项目前端开发者:殷玲慧-高级前端开发工程师;王淑彬-高级前端开发工程师

项目测试者:王田-资深测试工程师;张家豪-测试工程师

项目支持者:于浩、郭丽涛、葛杉杉、杨俊峰等DBA

关于随行付怎么突然不能用了的开源Porter项目你有什么问题或看法,欢迎留言告诉我们大家一起讨论交流!

我要回帖

更多关于 随行付怎么突然不能用了 的文章

 

随机推荐