打造高可用,高可扩展的互联网平台
来源:互联网 发布:cba选秀体测数据 编辑:程序博客网 时间:2024/03/29 23:18
1)众多开发人员围着一个工程开发,打包,测试,部署纠结在一起,互相等待,严重的影响了生产效率;
2)应用没有进行合理的拆分,前后台应用没有分级,碰到异常流量不能做到优雅降级,整个网站都可能导致崩溃;
3) 没有统一的服务质量管理平台,故障/异常不能及时报警/预警,出现了故障也不能及时定位,解决问题的经验也没有沉淀下来,错误一犯再犯。
总之,众多应用互相耦合,单包开发,导致系统的稳定性,扩展性,伸缩性受到严重伤害,我们需要打造一个Scale Out的分布式平台来解决这个问题。并且辅有服务管理平台来管控服务质量。
一. 业务水平和垂直拆分
业务做水平和垂直拆分。 根据业务的公用性进行前后台拆分,公用/通用的应用定位核心应用,为前端应用提供基础服务。前端应用根据产品线,可以拆分为不同的前端应用。各应用可以独立开发,测试,打包,部署,互不影响。
二. 分布式服务导向框架
由于应用做个拆分,本地调用变成了远程调用,而且每个应用都是集群部署。所以导向框架至少满足两个功能:
1)实现远程调用(类似 RMI,Hessian,HTTPInvoke,SOAP,CORBA,WEBSERVICE etc.);
2) 能实现软负载均衡,可以容错;
根据上述两者需求,再结合公司的技术实力和资源情况,可以自主研发或者采用开源解决方案:
1)Engix/Apache + Hessian,可以将Engix作为负载均衡设备来分发请求,Hessian为远程通信调用协议;
2)LVS + Hessian,LVS作为负载均衡设备分发请求;
3)自主研发服务导向框架,实现服务客户端请求对象序列化,传输, 服务端反序列 etc.
三. 分布式数据层
为了应对大数据量的冲击,数据库需要进行拆分。为了对开发工程师屏蔽这些底层细节,需要有一个分布式数据层来统一进行数据的存取。数据库路由(因为分库分表),读写分离,异地容灾,这些是分布式数据层需要解决的问题。
四. 消息机制
同步调用容易产生阻塞,大并发量来临,容易让系统崩溃。异步消息机制可以减轻系统的压力。在软件体系结构上来说,还可以起到解耦的作用。
五. 服务管理平台(包括监控系统)
可以在硬件,操作系统层面,应用层面,业务数据层面 对整个系统进行管控,可以趋势报警,提前对系统的异常情况进行判断。可以协助工程人员及时定位。并且多个层面数据打通,消除数据孤岛,增强数据的关联性。
系统可以优雅降低,异常的流量/并发量下,保证核心系统的服务能力,非核心系统可以降低服务质量/容量。环境正常后,各系统回复到正常的服务质量。、
前端Web应用集群部署(F5引流),分布式服务导向框架,分布式数据层,异步消息机制等,这些基础组件共同打造一个高可用,高可扩展的互联网平台。
- 打造高可用,高可扩展的互联网平台
- 打造高可用,高可扩展的互联网平台
- 如何打造一个高并发,处理海量数据,高性能,易扩展,可伸缩,高可用的网站?
- 打造高可用性的互联网技术平台
- 打造高可用性的互联网技术平台
- 互联网运营智慧:高可用可扩展网站技术实战
- 高可用高性能可扩展的单号生成方案
- 高可用高性能可扩展的单号生成方案
- 基于弹性计算平台——构建高可用、可扩展的应用
- 基于弹性计算平台——构建高可用、可扩展的应用
- 使用Spark Streaming + Elasticsearch搭建高可用、可扩展的App异常监控平台
- 使用Spark Streaming + Elasticsearch搭建高可用、可扩展的App异常监控平台
- 一步一步打造MySQL高可用平台
- 转载:基于MySQL的高可用可扩展架构探讨
- 基于 MySQL的高可用可扩展架构探讨
- 基于MySQL的高可用可扩展架构探讨
- 构建高可用、可扩展的redis集群
- 可扩展、高可用服务网络设计方案
- mysql删除重复记录语句的方法
- Android屏幕适配方案(上)
- JDK与JRE的区别
- Android6.0上的重要变化
- Mysql中模拟分析函数
- 打造高可用,高可扩展的互联网平台
- 【ionic+angularjs】$ionicScrollDelegate list列表行记录定位的两种方式
- 用python2.7 做sogou字典处理编码的时候踩过的坑——学习笔记【文字编码转换 decode chardet】
- Android 之SparseArray<E>详解
- Flume 中文件channel VS 内存channel (File Channel VS Memory Channel)
- React+Webpack+Babel开发环境的搭建
- 服务器端编程的十大性能问题
- Android 常用 adb 命令总结
- Android4.1 触摸屏(TP)划线曲折、不圆润的解决方法