作者:Jonathan McCaffrey(文章来源:Riot Games) 译者:TF中文社区

一点历史
2016年及以后
该功能内部称为“Loot”,由3个核心组件组成:
Loot服务 -通过HTTP/JSON ReST API提供Loot请求的Java应用程序。
Loot缓存 -使用Memcached和小型golang sidecar进行监控、配置,以及启动/停止操作的缓存集群。
Loot数据库 -具有一个主服务器和多个从属服务器的MySQL数据库集群。
当你打开crafting屏幕时,将发生以下情况:

feapp在“服务发现”中查找Loot服务,以寻找其IP和端口信息。
feapp对Loot服务进行HTTP GET调用。
Loot服务会检查Loot缓存,以查看玩家的库存物品是否存在。
库存物品不在缓存中,因此,Loot服务调用Loot数据库以查看玩家当前拥有的物品,并把该结果填充到缓存。
Loot服务答复GET调用。


调度容器
与Docker网络联网
持续交付
运行动态应用程序
调度(SCHEDULING)
与DOCKER进行联网
容器运行后,我们需要在Loot应用程序和生态系统的其他部分之间提供网络连接。为此,我们利用OpenContrail为每个应用程序提供了专用网络,并让我们的开发团队使用GitHub中的JSON文件自己管理其策略。



Contrail和Docker之间的集成
允许网络的其他部分(rCluster外部)无缝访问新的overlay网络
允许一个集群中的应用程序与另一个集群进行通信
在AWS上运行overlay网络
在overlay中构建面向边缘的应用程序HA负载均衡
持续交付
对于Loot应用程序,CI流程如下所示:

运行动态应用程序
如果应用程序的容量和端点一直在变化,我们该如何监视它?
如果一个应用程序一直在变化,那么它如何知道另一个应用程序的端点?
如果你无法ssh进入容器并且每次启动新容器时都重置日志,那么如何分类应用程序的问题?
如果在构建时baking容器,如何配置数据库密码之类的东西,或者在“土耳其”与“北美”之间都切换了哪些选项?
结论

关注微信:TF中文社区

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69957171/viewspace-2676213/ ,如需转载,请注明出处,否则将追究法律责任。