2019互联网微服务架构实战(9月成都班)
时间:2019-09-28 09:00 至 2019-09-29 18:00
地点:成都
- 参会报名
- 会议通知
- 会议日程
- 会议嘉宾
- 参会指南
-
手机下单
2019互联网微服务架构实战(9月成都班) 已截止报名
|
本次会议为非营利性活动,不支持开具发票,敬请谅解 |
参会凭证:电子票 邮件/短信发送参会通知 |
会议通知
会议内容 主办方介绍
2019互联网微服务架构实战(9月成都班)宣传图
课程简介
以实际重构过程中遇到的问题为出发点切入到微服务的落地,加深对微服务本质的理解和带来的优劣的思考,给我们实际工作中微服务的高可用、高性能、一致性等服务指标的提升带来巨大帮助。
目标收益
加强研发工程师对微服务化开发模式的理解,以应对复杂业务密集的迭代带来质量、效率上的问题,简化我们应对复杂架构带来的系统复杂性问题。
培训对象
面向业务开发、架构师、运维、测试等关注服务端微服务化落地过程中涉及的工程师。
查看更多
会议日程 (最终日程以会议现场为准)
课程大纲
一、微服务概览 |
1. 微服务简介 微服务的Overview,设计思路,核心重点,简单减少了微服务的优缺点,以及结合B站业务如何来完成的落地,以及对现有新老系统;
从现有系统迁移,新老接口,以及新老系统完成整合的方案和细节;
服务碎片化带来的rpc性能开销,可用性下降,以及治理的复杂度,给运维基础设施和测试带来的挑战非常之大 |
二、微服务网关 |
1. 网关架构 API 网关要做很多工作,它作为一个系统的后端总入口,承载着所有服务的组合路由转换等工作,除此之外,我们一般也会把安全,限流,缓存,日志,监控,重试,熔断等放到 API 网关来做,那么可以试想在高并发的情况下,这里可能会出现一个性能瓶颈。 2. 网关的工作模式 网关一般属于数据组装聚合,协议分解的层,需要考虑并发的性能,使用类似Future编程来解决扇出rpc问题,用户流量的接入层,一般不对内再提供接口服务。 各种语言都与网关的框架,主要是HTTP服务,需要有一定的Middleware的扩展能力 |
三、微服务服务 |
1. rpc框架 gRPC vs Thrift vs HTTP RESTful,在协议设计、可用性、以及扩展等方面,以及rpc框架背后的功能集成和扩展能力;
api协议是server-client的浇水,api协议设立覆盖了大量的工程实践,哪些错误码返回,哪些数据返回,都有讲究,好的协议是面向业务场景的,收敛的。
SLB集中式的负载均衡,还是客户端发现实现的负载均衡,在AP、CP系统上如何选择,服务发现的原理和细节,目前Eureka存在的一些问题;
在跨机房、灰度发布时候如何基于服务注册的元数据信息完成的服务流量调度,以及如何均衡的选择上,比如是随机、rr、wrr等,应该是如何来如何选择,以及wrr对我们线上容器有什么影响;
服务需要考虑集群级别的隔离和容灾,提供更多的冗余和弹性能力,比如我们L0核心的业务,如果只有一套是存在风险的。 |
四、微服务中间件 |
1. 分布式队列 消息系统如何给系统解耦,以及如何处理分布式一致性,比如我们经常遇到的cache一致性问题;
业务层监控:关注业务指标,比如注册成功率、投稿成功率; 应用层监控:关注App/Web业务“端”监控,链路层监控,日志Logview,异常监控; 系统层监控:包含所有网络、IDC、CDN、中间件、数据库等底层组件监控;
Netflix Eureka是一个高度AP的系统,即使只有一个实例存活,仍可以提供服务,并在集群或网络恢复后能在一定时间后(30秒)一致。基本原理可以理解为实例之间相互广播以达成最终一致,中间可能发生的数据丢失由客户端定期注册解决。这个设计的合理性在于上游一般并不需要所有的下游存活,一段时间内的不一致并不会导致巨大的问题,反倒是作为基础服务的可用性,易维护性会更加重要。
统一唯一的配置管理,配置文件的治理是对微服务至关重要的,变更管理是根本影响服务可用的关键因素。
|
五、微服务可用性设计 |
1. 微服务隔离原则 不同类型的请求使用线程池来资源隔离,每种类型的请求互不影响,如果一种类型的请求线程资源耗尽,则对后续的该类型请求直接返回,不再调用后续资源;
针对服务超时,可以通过超时控制保证接口的返回,可以通过设置超时时间为1s,尽快返回结果,因为大多数情况下,接口超时一方面影响用户体验,一方面可能是由于后端依赖出现了问题,如负载过高,机器故障等。某个互联网公司曾经说,当系统故障时,fail fast;
微服务开发中有时需要对API做限流保护,防止网络攻击,比如做一个短信验证码API,限制客户端的请求速率能在一定程度上抵御短信轰炸攻击,降低损失;
有些情况下,即使服务出错,对用户而言,也希望是透明的,无感的,设置一些fallback,做一些服务降级,保证用户的体验,即使这个服务实际上是挂掉的,返回内容是空的或者是旧的,在此故障期间,程序员能赶紧修复,对用户几乎没有造成不良体验;
直面意思就是可以容下错误,不让错误再次扩张,让这个错误产生的影响在一个固定的边界之内,微服务之间通过网络进行通信,进行互相调用,造成了微服务之间存在依赖关系。我们知道由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟甚至调用失败,而调用失败又会造成用户刷新页面并再次尝试调用,再加上其它服务调用,从而增加了服务器的负载,导致服务瘫痪,最终甚至会导致整个服务“雪崩”; |
查看更多
会议嘉宾 (最终出席嘉宾以会议现场为准)
Jim
某视频网站 技术总监
目前就职于某视频网站,负责主站技术部研发管理工作,近十年的服务端研发经验。
擅长高性能、高可用的服务端研发,熟悉Go语言。
参与了从巨石架构到微服务的完整转型,包含微服务治理、微服务可用性设计,微服务数据一致性设计,微服务中间件,微服务监控,微服务日志收集,微服务负载均衡,和微服务RPC框架开发等。
查看更多
温馨提示
酒店与住宿:
为防止极端情况下活动延期或取消,建议“异地客户”与活动家客服确认参会信息后,再安排出行与住宿。
退款规则:
活动各项资源需提前采购,购票后不支持退款,可以换人参加。
您可能还会关注
-
QCon上海2025|全球软件开发大会
2025-10-23 上海
-
GOPS 全球运维大会 2025 · 深圳站
2025-04-25 深圳
-
QCon北京2025|全球软件开发大会
2025-04-10 北京
-
2025大健康产业技术创新(昆明)论坛 暨中生协特医食品及生物活性肽工作委员会第三届年会
2025-01-08 昆明