20150425 Gopher China 2015 上海 大会的收获 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
cralison
V2EX    程序员

20150425 Gopher China 2015 上海 大会的收获

  cralison 2015 年 4 月 25 日 1771 次点击
这是一个创建于 3920 天前的主题,其中的信息可能已经有所发展或是发生改变。
1

真有趣的陈明达分享了《Go语言游戏项目应用情况汇报》。

其中对通讯层、业务层、数据层的分别处理,让人印象深刻。总体上的原则是,实现通讯层、数据层的代码自动生成,让业务开发把精力集中在业务层。

通讯层通过可视化编辑的JS,映射成Go代码。

业务层除了在文件读写、RPC调用等注意屏蔽阻塞以外,还有一些技巧,比如数据离CPU越近越好,避免数据复制和大集合遍历,注册接口防止循环引用。

数据层通过数据库切片缩小查询时的集合,支持内存事务,以事务为单位同步到数据库,实现支持Redo/Undo以及数据的同步日志,保证了数据的稳定。

对数据库的访问进行封装,使外部调用不直接访问字段。

事务日志同步前先写入本地日志,再写入MySQL。

事务日志采用JSON格式,方便分布式分析。

2

七牛的许式伟分享了《七牛如何做HPPT服务测试》。

七牛并没有使用RPC,而是使用已经非常成熟的HTTP服务。七年希望在HTTP服务测试上,更专注于服务逻辑本身,做到跟客户端无关。

七牛在Go的基础上,引入自己的HTTPTest DSL文法,使得测试更接近基于HttpClient写测试案例的思路,努力让代码更直白体现测试用意。

HTTPTest DSL语法结构为命令行+参数开关的方式,引入了类型系统,并且有提高测试开发效率的缩写模式。

其中作为重点设计的是match命令,当match命令中<source>必须包含<expected>的全部,超出部分将进行赋值操作。

通过测试环境参数化的方式,屏蔽了测试脚本的环境依赖,让脚本更易于入库复用。

HTTPTest DSL包含命令行解释器和支持变量定义的JSON解释器。

3

富麦的余军分享了《动态资源管理和容器技术在金融行业的架构探索和明天》。

与大家的一般印象不同的是,金融行业因为最有钱,它们的IT系统一直是最先进的,也经常做一些非常前沿的激进的改革尝试。

但是,因为业务形态复杂和高管控需求的约束,才导致了大家对金融业不愿意尝试流行新技术的误解。

金融业的IT系统,不同于互联网公司纵向浅、横向多,相反是纵向深,横向小的特点。甚至很多时候根本不考虑解耦,反而根据业务需要纵向完全耦合死。90%以上的银行系统是很老的架构,当前也没有改的必要。

金融业非常重视Staging环境的测试,甚至有些涉及范围的新业务会直接跑在Staging上,在推广到Production环境尽可能排查掉所有可能出现的问题。

金融业对IT的需求,归根结底是要构造一个高效的资源管控模型。

IT界给出了很多金融系统方案,包括PBS、Condor、Hadoop YARN、Apache Mesos、Google Kubemeles等等,但因为都是不考虑服务特性的资源配比方案,并没有真正解决金融业面临的具体业务场景问题。

余军有一个比喻,简明又形象,互联网的业务场景像Cattle Farm,而金融业更像是Zoo。

富麦有自己的一个解决方案:SWF。

虽然作为iOS开发,对Go的很多东西都傻傻听不懂,但思维上还是有很多可以借鉴的地方,感觉不但值回票价,完全是绝对超值:)
目前尚无回复
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2764 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 24ms UTC 08:19 PVG 16:19 LAX 00:19 JFK 03:19
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86