有没有关于汽车之家app内容的app呀?

为了应对流量的暴涨服务的高鈳用性和团队变大,所有开发人员集中针对同一个系统的严重冲突App端进行插件化改造。服务端2015年初也开始了二次重构计划进行了一次脫胎换骨的转型,全面拥抱Java主要的技术改变有:

需求方面主要有这几点:文章、帖子的评论这种垂直业务不能挂掉;业务爆发能够快速實现;依赖(多业务方、多资源)解耦,故障时绝对不允许相互影响

解决方案分为以下几步:

  • 分解。首先是团队:根据App插件化的划分對服务端团队研发人员进行分组,各小组只负责自己的模块每月固定的两次迭代,各小组服务独立上线互不影响其次是服务结构,包括水平扩展:多集群、多机房部署提高并发能力和容灾能力;垂直拆分:垂直业务进一步拆分依赖解耦;业务分片:按功能特点分开部署,如活动、秒杀、推送等物理隔离;水平拆分:服务分层功能和非功能分开,基础核心服务非核心服务分开

  • 业务服务化,相互独立如咨询、论坛、广告等。

  • 无状态设计调用链路无单点、无状态服务,可线性扩容(尽可能不要把状态数据保存到本机、接口调用做到冪等性)

  • 可复用。复用的粒度是业务逻辑的抽象服务不是服务实现的细节、服务引用只依赖服务抽象。

  • 资源分层Redis、DB、MQ 主从设计,多機房部署、保障高可用

  • 松耦合、自保护、防雪崩。跨业务调用尽可能异步解耦必须同步调用时设置超时、队列大小、线程池大小、相對稳定的基础服务与易变流程的服务分层;线程池保护,超出服务器最大线程时DROP请求(Nginx、Tomcat)Redis、DB、MQ、Turbo(RPC)、HttpClient等在后端资源出问题时可以自動降级请求调用、发送异常报警。

  • 服务隔离可自理服务可降级、可限流、可开关、可监控、白名单机制。

  • 各个服务独立部署互不影响垺务异常自动熔断,根据各个服务特点走相应的降级策略基础服务下沉可复用基础服务自治、相互独立、基础服务要求尽量精简可水平擴展、物理隔离保证稳定(如用户中心、产品库)。

  • 分清核心业务核心业务服务尽量精简,利于稳定(运行时优先保证主流程顺利完成、辅助流程采用异步:如日志上报)


App端请求经过接入层(CDN、LVS、NG/SCS),通过接口控制层的设置校验(CDN配置、反劫持配置、日志服务配置、安铨校验……)调用API层发布的REST接口通过参数校验后调用业务逻辑层的业务实现。同时业务逻辑层通过数据接口层(SourceInterface源接口服务、DbUtils数据库分開分表组件、AIS4J异步请求组件、Trubo RPC服务)调用资源层的资源服务来完成本次业务的数据组装完成本次业务的调用。

配置方面一个基于zookeeper的配置服务(配置服务用于系统的各种开关的实时配置如:源接口的限流熔断阈值等);Monitor:监控服务实时查看系统异常、流量;Trace:系统跟踪服務;Log:(日志服务)。


为了应对服务化作服务自理2015年底我们全面启用公司的RPC服务Trubo

服务发现与RPC稳定性和容错方面,主要是双机房部署ZooKeeper集群主力机房5个节点(Leader/Follower集群),其他机房2个节点(Observer节点)保证性能和稳定性;Trubo客户端服务端添加守护线程,定时校验本地缓存和ZooKeeper的数据一致性;Trubo客户端会将缓存的服务信息持久化到本地即使ZooKeeper挂掉或者重启也不影响正常调用;嵌入Trace客户端上报收集分布式跟踪日志。

  • 异步请求組件AIS4J


为了解决接口和资源依赖问题(源站或Redis、DB等资源层挂掉导致我们服务不可用的高风险)同时也为了请求响应时间受到源站依赖问题,我们封装了异步请求组件AIS4J同时嵌入我们的熔断限流组件来对源站进行解耦。

引入AIS4J后大大缓解了对外部资源的依赖提高了服务的可用性,但同时也带来了一些问题公司要求对缓存内容时间限定在10分钟以内,原来的时间被平均分配到了CDN和我们的二级缓存SCS上现在加入这個组件为了满足10分钟的要求必须把原来的10分钟拆分到AIS4J上,这就需要增大系统接口的回源率(10%左右)这个时间就要对请求时间和系统压力仩做一个权衡。

就目前阶段来说服务分解封装应对一段时间的流量增长已没太大问题。但为了保证服务的高可用、系统的扩容预估、故障的实时定位……就必须有一套完善的监测报警系统


图7是系统调用追踪服务,通过对程序Java的Instrumentation和配置系统对系统程序进行埋点跟踪再通過Spark对跟踪日志进行实时分析展现。



Trace ID标识唯一调用树Transaction ID标识唯一次调用,一次Trace调用会产生四条日志Trace调用树可以由Turbo、本地调用、HTTP或其他调用方式组成,Trace客户端是独立的Turbo单向依赖Trace。


同时我们在APP端的请求头中埋入Req ID通过Req ID和Trace ID的对接记录一次请求过程(CDN、SCS、后端服务、RPC/HttpClient调用)每一步嘚时间消耗。


为了更快的定位稳定我们在程序中预设了Debug模式,在内网环境中只要拿到请求的URL开启Debug模式就可以快速的调出系统调用资源链囷每一步的程序调用消耗时间

通过Spark对日志记录的分析结果,会实时对接到我们的报警系统上实现对程序异常的实时报警。报警系统通過短信、邮件方式发生内容中包含请求的Trace ID超链到报表系统实现对异常问题的实时查看定位。

作者简介:汤泉2015年加入汽车之家app之家,参與到移动主软件服务端的架构设计与开发

汽车之家app之家极速版app是一款拥有超多用户使用的汽车之家app资讯手机软件软件能有效的帮助用户进行汽车之家app的选择、购买、更换、使用等等方面的服务,给予用户最快速方便的一站式服务软件现在已经有超过3亿的注册用户,相信这么多人共同的选择必定是有其真正好用的地方快来下载试试吧。

汽车の家app之家极速版app上有超所汽车之家app资深专家对各种车型进行评估和总结让用户能在其上进行车型的选择,以免踩坑软件上还有很多活動或者优惠券,购车更便宜更方便给用户极致的购车体验。

汽车之家app之家极速版app软件特点

查违章、找保养、油卡充值一键触达

上万家4S店報价助你买车不吃亏

3.3亿家人与你一起使用的汽车之家appapp

专业汽车之家app资讯,你想看的都在这里

汽车之家app之家极速版app主要功能

【专业内容 更赽更全】

1、信息更快、更全、更专业的中国汽车之家app媒体

2、汇集知名汽车之家app媒体人内容一定有你喜欢

【上亿网友 互动聊车】

1、火热汽車之家app论坛-全面覆盖各个车系、品牌、地区,应有尽有

2、网友真实评论-车主价格、口碑、聊天室等你互动参与

【多种形式 有趣好玩】

1、視频直播-选车、看车、逛车展,都不错过

2、小视频-人人都是创作者记录有趣好玩的车生活

【前沿技术 全新体验】

1、智能推荐-机器学习,為你推荐专属内容

2、AR看车-足不出户身临其境看车

3、家家小秘-人工智能助手,懂你的购车秘书

【买车便宜 用车方便】

1、“七步买车”一步箌位省时省脑还省钱

2、优惠买车,超值体验买车不纠结

3、查违章,找保养油卡充值一键触达

汽车之家app之家极速版app用户评论

1.“每天都會来看相关的业界新闻,总能找到自己喜欢的相关消息” by 瓶空空

2.“查看车辆配置还有价格对比非常方便。还有首页新闻还有意思其中洎圆其说就给我这个小白提供了很好的教学”by 欧西尼

3.“没事就喜欢在汽车之家app之家逛一逛,可以了解很多汽车之家app行情和用车知识还可鉯在论坛里朋友些交流,很好的软件”by 源征

4.“几乎天都用汽车之家app之家看些汽车之家app新闻编辑的帖子还是比较中肯的,还有论坛能看箌一些车主的用车情况,这个软件还是不错的”by 用户名已存在

5.“一直以来都很感谢有汽车之家app之家这样的好软件为喜欢车的朋友带来了無尽的乐趣和方便,祝愿你们越做越好!”by 缪小福

汽车之家app之家极速版app更新日志

我要回帖

 

随机推荐