大型互联网应用系统的技术方案和手段

用户头像
饺子
关注
发布于: 2020 年 10 月 16 日

大型互联网应用系统使用了哪些技术方案和手段,为了解决什么问题

问题1:规模性问题(大流量、高并发)

解决手段:

(1)垂直伸缩:常用在中小型公司的搜索领域、现在的搜索框架和技术对分布式的index和search要求比较高,因此为了简便,直接用更好的机器和SSD、更大内存来实现

(2)水平伸缩:

  • 反向代理层:ngixn也是集群、有的公司之前花大价钱买F5

  • 缓存层:以前的memcached,现在的redis集群,大公司复用redis-cluster的方式,加入自己的跨IDC策略,常见的set化

  • 服务器集群:服务要设计成无状态的便于水平扩展

  • 持久化层:mysql的主从解决读扩展、分库解决写扩展

  • 静态资源如CDN之类技术



问题2:复杂性问题

解决手段:大的公司内部分为很多通道(可以理解为方向),出了大流量问题,还有很多业务流量并不大,解决的是复杂性问题,比如HR系统、CRM系统、ERP系统等等,常见的复杂性体现在3个方面:实体复杂、流程复杂、计算任务类复杂

(1)实体复杂/计算任务类复杂:这类要和领域专家不断的走查,最佳实践的技术方法就是DDD

(2)流程复杂:常见做法是流程和数据相分离(关注点分离),比如复用流程的开源组件(activity等),很多公司会结合业务场景会包一层提供公共服务出来



用户头像

饺子

关注

还未添加个人签名 2017.12.01 加入

还未添加个人简介

评论

发布
暂无评论
大型互联网应用系统的技术方案和手段