云栖TechDay31期,来自千寻位置网的技术总监汤严敏带来Docker在千寻位置的实践的演讲。本文主要从千寻位置的理念和架构开始谈起,着重分析了千寻位置的Docker历程与实践,包括统一配置中心和阿里云镜像库等。
以下是精彩内容整理:
千寻位置
千寻位置以“互联网+位置(北斗)”的理念,通过北斗地基一张网的整合与建设,基于云计算和数据技术,构建位置服务云平台,以满足国家、行业、大众市场对精准位置服务的需求。
千寻位置是一个基于卫星定位、云计算和大数据技术的位置服务开放平台,面向企业和开发者、提供精准位置服务运营的平台型公司;致力于让位置创造价值,将公司打造成为提供精准位置服务、数据积累与挖掘、数据融合增值服务、具有全球竞争力的新兴产业集团;以卫星定位为基础,融合各类定位技术,针对特定的应用场景,不同的应用终端,推出与实际场景相结合的解决方案,向各类终端和应用系统提供高精准位置服务。
千寻位置服务是做什么的呢?我们能够提供亚米级到厘米级,甚至事后静态处理毫米级的高清定位服务,为什么能够做到这么高的精度,其实背后有我们地基增强的一张网,我们全国有1500多个基站,这是千寻自己建设的。用户的终端通过接受天上的卫星信号,把信息发送到我们的播发平台,播发平台连接地基增强的站,背后有一个复杂的算法加工,最后把处理过后的数据铺到终端上去,卫星信号经历过电离层、障碍物,还有各种复杂的场景,其实是有一定偏差的,我们就是要努力消除偏差,这就是千寻位置为什么能够提供到亚米级、厘米级的,甚至是静态处理毫米级的最根本原因。
毫不夸张的说,千寻算法可以说是国内在算法领域里面投入最多的一家公司,正是因为我们投入了巨大的人力、物力,所以我们才能够得以对高清定位市场的诉求提供很好的服务。
图为千寻网站架构图。技术无所谓优劣,在合适的人、合适的团队手上,才能够发挥出它的作用,然后解决公司当下和未来可能出现的一些业务场景。我们的架构中,一边是我们公司的网站,一边是我们的服务售卖平台,一边是用户使用过程当中计费相关的,背后的播发是有播发团队去负责的。
Docker历程
千寻是阿里巴巴和中国兵器共同投资成立的一家公司,与阿里云深度合作,无论从ECS还是RDS,还是各种各样云计算相关的,当下有一千多台ECS,千寻Docker的历程分成了几个阶段:
资源利用不充分,1000+机器,服务扩容不方便,开发测试和生产配置不统一,基于这些,千寻切入Docker后有如下情况:
(1)测试环境:几十个系统,一个测试同学一套完整环境,对比机器数(待评估)
(2)使用阿里云仓库管理镜像包,相比以前方式,不需要手动拷贝包,CI集成起来很方便(3)compose管理,使用阿里云管理集群,页面化管理
(4)最开始解决dubbo调用,手工解决网段问题,后来用阿里云的网络,天然打通
(5)标准docker,自己解决夸主机容器互联(虚拟路由,指定网段)
Docker实践
在用Docker的时候,我们有一些自己的东西在里面,比如统一配置中心,从生产上来说,我们希望一个包可以丢到不同的环境里面去,只不过需要给它事先设定一些东西,可能在生产环境它是连着数据库,在开发环节连着另外一个数据库。我们也做了一些基础性的建设,就把统一的配制中心搞起来了,它同样适用于ECS这种情况。
我们同时还要兼顾一下开发同学的效率,开发同学如果感觉很不满意,基本上就是很失败了,比如说日志路径,生产环境所有的应用是日志路径,我们放了个人用户下面。开发同学用的是同一套配置,我们做到能够允许在本地的某一个地方去做一些覆盖,如果发现你这个地方有这样的一个K存在,我就不会使用配置中心,这样就可以大家统一都用同一套配置中心,同时又有自己的个性配置。生产环境只有一套配置中心,那我们有了配置中心,容器在启动的那个时刻,它也会到我们配置中心里面去读配置项。
使用Docker的好处,相信大家应该对Docker都有过比较深的了解,具体如下:
我们一方面要做一些自己的基础化设施建设,另一方面还要响应公司的业务部门的需求,所以很多基础设施做的不完全够,自动化运维和日志监控这一部分,接下来的阶段我们可能会和运维同学一起来做,聚集各部门的能量才能把事情做好。
来源: https://yq.aliyun.com/articles/73771