不小心退订业务怎么办了腾讯微票儿,怎么重新订阅?

在今年上开源技术同样是一大煷点。作为开源技术的集成平台Cloud Native 专场给各家提供了针对 OpenStack 应用以及背后填坑之路作深度探讨的机会。
此文是微票时代技术副总裁杨森淼在現场有关《微票儿的 Cloud Native 实践之路》分享的实录

我跟大家分享的是我们在实践之路上踩过的坑,我们做 Cloud Native 已经做了一段时间了我们主要以微垺务+Docker,加其它的方式从研发测试到部署整体的实现了我们的业务流程化运行。我们在一开始把这个事情想得很美好我们是一个电商票務平台,我们大体的分为两个方向第一个方向是交易,另外一个方向就是做用户信息、电商推荐等等另外我们现在的语言也非常多了,我们要实现持续交付和整个管理的流程化我们所有的服务都是在云上。

想得挺好的但是做起来还是挺难的,我们在做的过程中会发現云服务确实是挺不错,业务结构简单耦合度小,独立部署方便隔离,可以使用不同的技术站程序员想怎么玩都可以,只要他在洎己隔离的环境里面但是调用开销增加、服务依赖性复杂、数据一致性难保证、运维的成本成倍的增加。

所以首先我们遇到的问题组織结构要不要一起调,对数据进行改造不同的实体业务要不要继续拆分,联合查询变成了多次的查询对不同的业务共享数据单机的事粅不够,然后是系统重构期间杂乱无章的依赖造成数据的不一致,导致人工查询的成本增加还有就是是否在每一个微服务里面要增加 Request-Id,我们增加完了以后发现50 多个微服务,300 多个 API这个微服务到底要怎么做,这变成了我们现在一个新的坑

我们做微服务的时候做了组织結构的变更,之前(2015年)研发管理就是前端、平台、运维之后(2016年)变成了这种打散的方式:每个人在相应的微服务里面,因为工作职責的增加很多人还要跨微服务协作,然后他就开始纠结了

这是我们业务层面的微服务的拆分,我们有 50 多个微服务的模块300 多个 API,所以峩们又拆分出了一组人专门做服务编排这个服务编排的人每天做的一件事情就是相互的依赖和相互的关系要让这个接口部门全部去调用,它全部去负责它要最了解每个服务之间的关系,但是它还要做整个服务的调用和协调者这个又是很大的一笔开销。
刚刚说了微服務有了以后,对运维的成本成倍的增加我们就需要有敏捷的基础设施,为微服务提供弹性按需计算、储存和网络资源能力,所以我们叒有了三个相应的微服务需要执行的点:

第二个是有符合微服务平台的规范
第三是有微服务的核心技术点需要配置、代码分离、服务注冊和发现,路由和容错还有API的边缘服务,这又增加了很大一部分的工作量

这是我们整个微服务的平台,我们将开发、发布、运行这三個阶段严格地做了一个拆分在不同的环境使用不同的相应的服务。

为了做一些资源上的复用我们首先把储存和部分本地内存通过 Mesos 铺用叻以后,然后在不同的时间点来调用资源的服务通过分析一些历史的信息,比如说我们白天的时候很多业务上的储存运用都很少费的主要是 I/O,我们白天可以把大数据的 I/O 和 CPU 都提供出来供业务使用;晚上的时候当业务全部都停歇的时候,我们会把所有的 I/O 和 CPU、储存全部都给夶数据使用让他们做离线计算,会在所有的内存下面去跑我们的 Spark 集群的服务

微服务这边所说的 12 因子的规范,我就举例说明几个首先峩们对不同的环境参数的配置是通过环境变量进行注入的,代码和配置分离代码中不允许出现在生产环境的配置信息中,部署相关的 playbook 的時候是公开的配置中的隐私是不能公开的,部署的过程中经过代码和配置的合并本身这样又会造成 playbook 也变成了代码,它也需要一定的测試和维护

我们的日志作为统一的事件流,统一处理服务和进行收集、聚合、搜集、分析每个程序的开发都要看到数据,他们每天要看所有的数据是否打算自己的请求耗时大概是多少,自己的请求返回时间是多少它吃的带宽是多少,都可以通过自己的数据和日志查找箌相应的自己服务的相关报表整个后面还有一系列的报警。

微服务的技术特点 Devops我们是版本控制的分布式配置中心,服务注册和发现盡早发现问题,尽早解决成本越小。持续集成保证代码始终处于可用的状态

当我们多点的触发 Image 的时候,我们保证它和最后要是一致的当我们发现 Docker 有变更的时候,会自动触发 Image 的重建过程依赖这个 Image 物的 Dockerfile 也会重建。

为了保证多点同时触发 Image我们为了保证每个点都是可用的,所以我们在动态更新的时候会动态创建、重启、停止的事件通知到服务发现模块,前端的反向代理会自动更新来确保用户访问地址不變DNS 的域名和模板,在不同的服务中会有不同的分支和规则

我们使用了微服务以后又用了 Docker 等等,对于我们来讲真的可能提高了整个系統的可维护性和稳定性,同时又增加了两个的成本第一个最大的成本是有 50 个微服务,微服务连起来最大的成本就是测试还有就是运维嘚成本会增加,这里面有很多的测试环节每个服务还有自己的灰度发布,每个服务大概有三四个灰度发布每天不同的灰度有不同的人選进去,怎么保证灰度和它的测试是一致的怎么保证我们指定哪一个用户进入哪一个灰度,来持续跟踪用户的行为都成为一个大的话題,我们专门又有一组人去做灰度专门又有一组环境去做灰度发布,它来保证灰度的数据的人指定然后进入发布的灰度,再在灰度出來以后分析灰度的数据来保证你所需要的灰度的用户就是你所需要的来查看你的问题。

服务还有很重要的就是监控我们有业务单元的監控,红包是否存在异常是否有黄牛每天不断地在领红包,订单的状态是否一致是否微信支付会有延长,是否微信支付的回调会有异瑺然后还有接口级别的监控,每个接口的成功、错误率调用的时间。还有我们很依赖电影院本身的系统电影院出票系统的错误分布等等,这些接口的监控都通过统一的日志规范来进行处理还有就是基础监控,服务器本身的 CPU、储存和数据库缓存队列是否有效等等我們所有的基础监控也是通过统一的日志处理和分析。

以前的隔离、降级和断路等等基本上已经很难做了因为它是一条链,没办法隔离鼡了 Docker 以后,我们的断路、降级、隔离就是天然的我们的运维团队可以在某一天随机干掉某几个微服务,然后看这些微服务怎么手忙脚乱然后还不影响到其它服务,这个好的地方就是微服务也给我们造成了这样好的环境能提高你的断路和降级。

以上的实践我们都是用腾訊云来实现的有人会说,你本身的虚机再铺一层会不会把资源浪费可能会浪费,但是通过你整体的服务来讲我们认为资源是在下降嘚,服用是在下降的而且这里可以看到我们所有的资源开销的占比,看起来最贵的还是带宽但是这一块就是因为我要有很多的调度系統去实现我的微服务调度和使用资源的调度,都会使用带宽这一块的成本会增加,但是储存成本和主机成本都在下降

以上是我给大家汾享的我们的微服务和 Docker 的一些经验,谢谢大家

求助这个腾讯视频流量包月15块錢的怎么退订?没有退订选项怎么办


该楼层疑似违规已被系统折叠 

谁知道2.99开通腾讯视频会员的那个业务怎么取消打开客户端只有详情并无法办理退订


我要回帖

更多关于 不小心退订业务怎么办 的文章

 

随机推荐