资源描述
,1/13/2020,#,企业,微服务,技术架构介绍,目录,01,02,03,04,微服务介绍,0,到,3000,万用户微服务化过程,微服务进阶阶段,微服务与大数据结合,微服务介绍,01,微服务介绍,将原来耦合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累,每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。,由于微服务具备独立的运行进程,所以每个微服务可以独立部署。当业务迭代时只需 要发布相关服务的迭代即可,降低了测试的工作量同时也降低了服务发布的风险。,在微服务架构下,当某一组件发生故障时,故障会被隔离在单个服务中。比 如通过限流、熔断等方式降低错误导致的危害,保障核心业务正常运行。,在微服务架构下,每个服务可以根据实际需求独立进行扩展。,降低 复杂度,可独立 部署,容错,可扩展,0,到,3000,万用户微服务化过程,02,0到3000万用户微服务化过程,w,ar,w,ar,DB,DB,N,ginx,r,e,dis,w,ar,w,ar,DB,N,ginx,r,e,dis,w,ar,service,service,service,w,ar,DB,N,ginx,r,e,dis,w,ar,service,service,service,DB,DB,2015年,2018年,初始阶段的平台,0到3000万用户微服务化过程,war,DB,2015年底,方法:,tomcat+MySQL,spring+mybatis,结合,构建业务系统,系统之间的业务共享直接依赖,DB,问题:,发版的时候会暂停服务,影响运营投放,并发访问量大的时候出现大量超时,DB,war,N,g,i,nx,redis,war,初始阶段的平台,0到3000万用户微服务化过程,方法:,引入,N,ginx做反向代理,解决发版暂停服务问题,引入,redis,做,session,共享,问题:,系统中存在大量重复代码,耦合严重,任何的改动可能引发其他的,b,ug,测试回归量增加,系统质量降低,线上,b,ug频发,2016,年,“半”微服务阶段,0到3000万用户微服务化过程,方法:,根据领域模型、业务等做服,务,拆分,引入,dubbo,开始进入服务化拆分,问题:,系统中任何一条性能差,的,S,Q,L,引发du,bb,o,线程池满,导致平台雪崩,DB,高负荷运,行,,CPU经常到达,99%触发报警,每个,人,的代码风格不一样,不利于维护,系统存在不稳定因素,2017年,war,DB,N,g,i,n,x,redis,war,service,service,service,微服务阶段,0到3000万用户微服务化过程,方法:,代码自动化生成,风格统一,每个服务单独对应一个,DB,,读写分离,引入限流、熔断等技术保障服务稳定性,问题:,分布式事物解决方案,聚合日志查询,2018年,war,DB,N,g,i,nx,redis,war,service,service,service,DB,DB,准备微服务工具,自动生成读写分离,自动生成代码骨架,自动生成,Mybatis,xml文件,自动生成,PO,DTO,对象,自动生成,pom,依赖,0到3000万用户微服务化过程,ManagerImplR,M,a,n,ag,e,rIm,p,lW,0到3000万用户微服务化过程,代码结构以及依赖关系,Controller,b,a,c,k,(,w,ar),basic(,jar),IManger,MangerImpl,F,a,c,ade,IService,Servi,ceImpl,IMangerR,I,M,a,n,g,e,rW,DAOR,D,A,O,W,W,R,业务架构图(简化版),A,PP,M站,H5,公众号,PC,前端应用,统一接入网关,用户中心,产品中心,订单中心,财务中心,支付中心,业务聚合,用户服务,产品服务,订单服务,支付路由,目录服务,基础服务,评论服务,短链服务,消息服务,短信路由,促销服务,排序服务,M,Y,SQ,L,Redis,HBa,s,e,HD,F,S,ES,数据存储,H,i,v,e,公共平台,配置中心,监控中心,安全中心,日志中心,调度中心,Binlog,配置服务,A,/B,行为数据,搜索排行,用户标签,用户画像,数据中心,运营报表,0到3000万用户微服务化过程,系统访问流程,0到3000万用户微服务化过程,A,p,p,H5,N,ginx,A,P,I,网关集群,A,P,I,业务集群,业务聚合层,业务聚合层,LocalCache,LocalCache,service,service,service,service,service,服务集群,业务聚合层,LocalCache,业务聚合层,LocalCache,业务集群,RemoteCache,集群,主,从,D,AL,配置 中心,全局调用链,千人千面个性化推荐,0到3000万用户微服务化过程,用户服务,产品服务,属性服务,校验服务,标签服务,订单服务,排序服务,用户行为,黑镜服务,精准营销,版本服务,。,服务,服务,化串行为并行,提升访问速度,0到3000万用户微服务化过程,服务,服务,服务,业务聚合层,服务,业务聚合层,E,x,e,cu,t,o,rS,e,r,vi,c,e,服务,(串行),(并行),服务,业务聚合层,服务,(并行),es,es,es,快、再快、更快,0到3000万用户微服务化过程,用户服务,产品服务,属性服务,校验服务,标签服务,.,充分使用缓存,0到3000万用户微服务化过程,RemoteCache,服务,RemoteCache,业务聚合层,DB,业务聚合层,LocalCache,服务,RemoteCache,DB,网络,网络,服务解耦,0到3000万用户微服务化过程,发放优惠券,用户表,积分初始化,订阅,binlog,订阅配置平台,MQ,优惠券服务,财务初始化,邀友奖励,流量上报,用户表,积分服务,账户服务,M,GM,服务,流量上报,缓存,解耦,熔断,安全,0到3000万用户微服务化过程,熔断功能要求,熔,断,时间窗口,错误率,人工干预,主动告警,0到3000万用户微服务化过程,缓存技巧,l,使用自定义,anntation(,启动本地缓存TTL+远程缓存),l,k,e,y,自动注册到配置中心,l,支持手动修改TTL时间,l,防止缓存击穿,1),使用布隆过滤器,2),启用缓存,Slot,synchronized,(lock),替换为,synchronized,(slotkey.hash%slot_size),0到3000万用户微服务化过程,基于,M,Q的应用解耦,0到3000万用户微服务化过程,l,应用层必须支持消息幂等,l,支持消息回溯,l,支持消息重放,l,基于关键字查询,l,消息的消费的机器,I,以及消息时间,0到3000万用户微服务化过程,安全机制,zk,consumer,p,r,ov,i,d,e,基于,dubbo,Filter,机制扩展,自动接入配置中心,支持限制IP访问,支持限定某个方法访问权限,非授权类连接具备自动告警机制,问题:,消费者可以通过注册中连接任意服务提供方,消费者可以通过直连的方式连接服务提供方,对服务方提供的服务做任何操作,zk,consumer,p,r,ov,i,d,e,授权,微服务进阶阶段,03,dubbo,MonitorService扩展,Tps,Elapsed,Concurrent,监控平台,需求:,模拟一次支付成功,模拟一次注册失败,能模拟各种状态值,模拟延时、异常,测试人员方便模拟,要求:,别让我额外编码,我有代码洁癖,非业务的代码不要加,我的代码谁动了,出问题后谁负责,测试,开发,M,o,c,k平台,Consumer,Provider,Filter,http,request,Mock,平台,http,response,配置中心,日志检索平台,KAFKA,业务系统A,FLUME,业务系统B,FLUME,业务系统C,FLUME,日志平台,告警平台,实时计算平台,规则引擎,线上故障情况,客服报线上问题,了,但是验证后却正常,线上产生诡异的数据不清楚如何产生的,老板操作发生异常,但是研发操作却正常,。,问题,恢复任意时刻现场数据,重复模拟指定场景,特定人的操作轨迹,不能污染线上数据,。,期望,日志回放系统,KAFKA,抽样规则集,配置中心,HBa,s,e,HBa,s,e,HBa,s,e,HBa,s,e,日志回 放系统,基础服 务集群,泛化,注册中心,微服务与大数据结合,04,大数据平台,千人千面个人化智能推荐,排序模型,用户画像,历史申请数据,人工智能,搜索推荐,个性化智能推荐,浏览记录,海量数据存成计算问题,用户行为记录:,登陆,点击,申请,需求:,每个月记录数10亿+,支持增量/全量分析统计,初始方案:,M,y,S,Q,L,Redis,问题:,redis,成本太高,M,y,S,Q,L,涉及到分库分表,冷热数据需要手动处理,多维度统计分析比较困难,解决方案:,引入H,B,as,e,存成海量用户行为记录,R,o,w,K,e,y=,定长,(,用户id反转),+,日期,优势:,自动解决冷,热,数据,无需关注分库,分,表,任何服务器故障,不丢,失,数据,支持,M,R,或者S,p,ark做多维度计算,大数据平台,大数据平台,大数据平台技术架构,F,l,u,me,SOA,M,y,S,Q,L,K,afka,MQ,binlog,S,T,OR,M,增量同步,K,afka,存储计算,Hadoop,H,B,ase,ES,Hi,v,e,数据服务,SOA,A,P,I,DW,A,D,-,H,O,C,Distributed,scheduling,监控平台,外 部 业 务 应 用,Spark,st,r,e,aming,W,E,B,A,P,I,D,atax,T,H,A,NK,S ALL,
展开阅读全文