查看原文
其他

老司机们闭门讨论微服务框架,到底啥内容?(内有彩蛋)

2016-12-09 何涛 中生代技术
2016.11.19号下午, 一群IT届的老司机,没有宣传,只有邀请,偷偷的聚在一起上海的一个会议室,讨论微服务框架相关的主题,他们到底在讨论啥,且看卧底记者的报道


主题:微服务框架地点:上海市闸北区四行天地(唯品会)会议室

会议形式:大家一块参与讨论,由主持人引导话题。主持人:朱攀 / 总策划:汪洋 / 会议记录:何涛主题流程
1. 每位参会者自我介绍(15分钟)
2. 参会者描述一下自己所在公司的服务化体系,主要采用在白板上面讲解的形式(60分钟)
3. 针对主题进行讨论(85分钟)
主题列表
1. 服务框架选型(开源软件、自研)
2. 服务注册、发现
3. 配置服务
4. 负载均衡和健康检查
5. RPC/REST、序列化
6. 防刷、限流和容错
7. 降级,隔离,熔断
8. 数据安全,访问控制
9. 日志
10. 面临的问题参会嘉宾:

朱攀@德比软件、刘璟宇@唯品会、杜亚明@百度、刘飏@付费通、谢康@同程、马亮@翼支付、余倩@口碑、朱荣松@拍拍信、唐成@小蚁科技、何涛@唯品会、汪洋@ 靠谱推

活动纪要:还未到下午2:30,参会嘉宾就早早到了现场。谢康同学专程从苏州到上海参加闭门会议。 美女余倩的加入,整体颜值有了一个质的提升。

朱攀宣布会议开始,嘉宾首先做了自我介绍,大家互相有了一个大概的认识。介绍完后,到了以技术会友的阶段。刘璟宇首先为大家分享唯品会的服务化体系:

介绍了唯品会的整体架构及分层结构,唯品会的osp(服务化)框架,venus(平台框架),以及对cache和db管理的方式。唯品会osp框架主要采用了:client->proxy->server层的结构。Client主要是很薄的一层。其中策略等均是在proxy上面实现。介绍了唯品会的salus(安全框架)的设计思路。同时也介绍了配置,安全,文档,监控和流程管理的机制。何涛为大家带来唯品会网关分享

设计背景:1:提取公共服务:比如认证验签2:安全中心的统一接入3:数据统计的统一接入网关主要分为接入层网关和api网关。接入层网关主要的功能:https,http,协议校验,http2等实现,主要是维护对外的连接。Api网关主要功能:协议转换及路由,认证验签,安全,url解密,数据渲染等功能。其中安全主要包含:限流(对url的限流和网关本身保护的限流),防刷,白名单真正的网关是一整套完整的体系。由网关延伸出来的平台有:管理平台,安全平台,数据统计平台,日志平台和监控告警平台, httpDNS平台大家在一起讨论了大body(1M)的情况下,使用json序列化是否合理。不合理: 如果body大到一定程度,使用二进制序列化性能比较高,json性能比较差。合理:业务性能瓶颈点主要是业务处理,而序列化并不会成为瓶颈点。刘飏带来了付费通支付系统框架分享

介绍了付费通支付系统设计,及用户端显示支付成功,但是最后执行失败的解决方案。介绍了付费通主要的业务模式等。杜亚明介绍了百度的服务化体系

服务化就是旧事装新酒,本质就是服务化的过程。1:如何实现服务分布式。通过rpc实现分布式。2:如何做好服务的治理。如何做监控,熔断,安全,路由优化等3:dev ops(整个服务的管理)4:服务并行快速交互,有效测试,管理依赖关系,契约的管控。5:op阶段:自动化,可靠交付。自动化面临的挑战CD如何可靠交互。多语言(C++,java,php,go)的实现部署。总结起来就是:三个基础设施,两个自动化平台。服务注册发现:自研,基于raft协议。通过agent实现。原因是: zk 有性能问题。1:注册中心 通过stomp推送到agent上面2:php是单独的agent,服务和agent通过进程通信。java提供了一个sdk包3:php每次访问会访问一次agent,拿到最新的服务。4:注册中心5分钟会增量推送一次。5:每个docker里面有一个守护进程,保证agent不会挂。网关容灾:1:通过gossip协议实现网关之间的通信 。2:如果注册中心挂掉,网关会将后端有问题的服务通过gossip协议通知到其他网关节点。

3:任何一个集群挂掉,也能够提供服务的设计理念CI/CD

1:服务提供者驱动的契约管理->消费者提供的契约管理2:事实提供依赖关系视图

3: 可靠的测试环境。服务依赖的情况,在测试环境可以使用mock,在沙箱环境(UAT,预发布环境)使用和生产一样的环境,来避免用户升级导致的故障

4:尽量不要通过版本升级,通过新建服务来解决。
谢康介绍同程的服务化体系

api网关是go语言写的。 功能:协议转换,服务聚合主要描述了同程服务化不一样的地方:同程内部语言比较多(.net,java,c)等语言。其中服务注册的时候,不仅会注册服务,还会注册服务支持的协议类型。客户端会根据自己的能力选择对应的协议进行通信。同程内部通过proxy访问DB或者缓存,同时把proxy进行注册,作为一个对外提供的服务。朱荣松带来了拍拍信对服务化的实践

主要使用框架springboot+spring cloudspring cloud存在问题:1:spring cloud整个不够成熟,且缺少管理系统2:很多中间件需要自研和二次开发去完善3:主要问题服务多版本发布,服务分组,服务上下线/灰度等冶理功能,配置中心使用git无界面,无流程化审核等不知不觉,已经到了17:30,室外都已经黑下来了。大家讨论的热情还很高涨,由于时间关系,其他嘉宾很遗憾没能给大家分享(其实是为了在中生代12月线下活动分享)活动结束后,参会嘉宾相约一块吃晚餐。汪洋最后的到来,让整体的颜值进一步得到了提升。

小插曲:谢康晚上需要回苏州,但是到火车站后,发现钱包给落下了。 最后在星巴克找到了自己的钱包。为了表示对星巴克服务员的感谢,现场立马办理了一个星巴克的会员卡。并且幸运的是在办星巴克卡的时候中奖了,可以买一送一。 有需要谢康请和咖啡的,可以立马联系他。



推荐图灵教育精彩图书



1. CSDN超人气博主、CSDN十大博客之星、资深Android开发者郭霖力作 
2. 基于Android 7.0、Android Studio 2.2全新升级 
3. Android初学者入门必备,Android开发者进阶首选 
4. 涵盖Material Design、运行时权限、多窗口模式、RecyclerView、百分比布局等全新特性 
5. 第1版重印14次,经典畅销,好评如潮,以超高质量的内容赢得了开发者的广泛认可,被誉为“Android开发第一书”。 

郭霖,Android软件开发工程师。从事Android开发工作6年,有着丰富的项目实战经验,负责及参与开发过多款移动应用与游戏,同时还是LitePal开源框架的作者,对Android系统架构及应用层开发有着深入的理解。 
2013年3月开始,在CSDN上发表Android技术相关博文,很快获得了大量网友的好评。目前博客访问量已超过500万次,评论超过10000条。荣获CSDN认证专家,并被连续评选为CSDN 2013、2014、2015年度博客之星。 
博客: http://guolin.tech

本书面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无需精通编程,也无需精通数学,只需具备四则运算和乘方等基础知识,就可以阅读本书。

书中讲解了二进制计数法、逻辑、余数、排列组合、递归、指数爆炸、不可解问题等许多与编程密切相关的数学方法,分析了哥尼斯堡七桥问题、高斯求和方法、汉诺塔、斐波那契数列等经典问题和算法。引导读者深入理解编程中的数学方法和思路。本书适合程序设计人员以及编程和数学爱好者阅读。

结城浩(Hiroshi Yuki) 生于1963年,日本资深技术作家和程序员。在编程语言、设计模式、数学、加密技术等领域,编写了很多深受欢迎的入门书。代表作有《数学女孩》系列、《程序员的数学》等。 作者网站:http://www.hyuki.com/ 

管杰 
毕业于复旦大学日语系。现为对日软件工程师,多年日语技术文档编写经验。爱好日汉翻译和日本文化史,译有《明解C语言:入门篇》等。 





我就是彩蛋:数据塔尖的奥秘

一次,沈老师出了一道有趣的古典数学题:“韩信点兵”。大家都闷头算起来,陈景润很快小声回答:“53人”。全班为他算得速度之快惊呆了,沈老师望着这个平素不爱说话、衣衫褴褛的学生问他是怎么得出来的?陈景润的脸羞红了,说不出话,最后是用笔在黑板上写出了方法。  


沈老师高兴地说:“陈景润算得很好,只是不敢讲,我帮他讲吧!”沈老师讲完,又介绍了中国古代对数学贡献,说祖冲之对圆周率的研究成果早于西欧1000年,南宋秦九韶对“联合一次方程式”的解法,也比瑞士数学家欧拉的解法早500多年。 


沈老师接着鼓励说:“我们不能停步,希望你们将来能创造出更大的奇迹,比如有个‘哥德巴赫猜想’,是数论中至今未解的难题,人们把它比做皇冠上的明珠,你们要把它摘下来!”课后,沈老师问陈景润有什么想法,陈景润说:“我能行吗?”沈老师说:“你既然能自己解出‘韩信点兵’,将来就能摘取那颗明珠:天下无难事,只怕有心人啊!”


1742年6月7日,德国数学家哥德巴赫在写给著名数学家欧拉的一封信中,提出了两个大胆的猜想:

一、任何不小于6的偶数,都是两个奇质数之和;

二、任何不小于9的奇数,都是三个奇质数之和.

这就是数学史上著名的“哥德巴赫猜想”.显然,第二个猜想是第一个猜想的推论.因此,只需在两个猜想中证明一个就足够了.

同年6月30日,欧拉在给哥德巴赫的回信中, 明确表示他深信哥德巴赫的这两个猜想都是正确的定理,但是欧拉当时还无法给出证明.由于欧拉是当时欧洲最伟大的数学家,他对哥德巴赫猜想的信心,影响到了整个欧洲乃至世界数学界.从那以后,许多数学家都跃跃欲试,甚至一生都致力于证明哥德巴赫猜想.可是直到19世纪末,哥德巴赫猜想的证明也没有任何进展.证明哥德巴赫猜想的难度,远远超出了人们的想象.有的数学家把哥德巴赫猜想比喻为“数学王冠上的明珠”.

1900年,20世纪最伟大的数学家希尔伯特,在国际数学会议上把“哥德巴赫猜想”列为23个数学难题之一.此后,20世纪的数学家们在世界范围内“联手”进攻“哥德巴赫猜想”堡垒,终于取得了辉煌的成果.

20世纪的数学家们研究哥德巴赫猜想所采用的主要方法,是筛法、圆法、密率法和三角和法等等高深的数学方法.解决这个猜想的思路,就像“缩小包围圈”一样,逐步逼近最后的结果.

1920年,挪威数学家布朗证明了定理“9+9”,由此划定了进攻“哥德巴赫猜想”的“大包围圈”.这个“9+9”是怎么回事呢?所谓“9+9”,翻译成数学语言就是:“任何一个足够大的偶数,都可以表示成其它两个数之和,而这两个数中的每个数,都是9个奇质数之和.” 从这个“9+9”开始,全世界的数学家集中力量“缩小包围圈”,当然最后的目标就是“1+1”了.

1924年,德国数学家雷德马赫证明了定理“7+7”.很快,“6+6”、“5+5”、“4+4”和“3+3”逐一被攻陷.1957年,我国数学家王元证明了“2+3”.1962年,中国数学家潘承洞证明了“1+5”,同年又和王元合作证明了“1+4”.1965年,苏联数学家证明了“1+3”.

1966年,我国著名数学家陈景润攻克了“1+2”,也就是:“任何一个足够大的偶数,都可以表示成两个数之和,而这两个数中的一个就是奇质数,另一个则是两个奇质数的和.”这个定理被世界数学界称为“陈氏定理”.

由于陈景润的贡献,人类距离哥德巴赫猜想的最后结果“1+1”仅有一步之遥了.但为了实现这最后的一步,也许还要历经一个漫长的探索过程.有许多数学家认为,要想证明“1+1”,必须通过创造新的数学方法,以往的路很可能都是走不通的...


如果要搞清楚大数据,又不想被锁在图书馆,那么,12月17日,由中生代技术&德比技术学院举办的《俯瞰大数据》大会,和大咖面对面交流,你要不要来?



长按图片识别二维码或者点击阅读原文可以报名

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存