一个典型的大型互联网应用系统使用了哪些技术方案和手段
一个典型的大型互联网应用系统使用了哪些技术方案和手段
队列
ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
主要作用解耦、异步、削峰 主要用于数据大、高并发等和主业务不是强关联的场景
常用场景:不同业务模块数据处理;业务信息数量过大,避免处理业务程序负载过高类似秒杀场景;异步处理发送消息、邮件、短信等场景;
缓存
主要解决页面展现速度,以及后台访问速度;
缓存大致分为:
数据库缓存 :redis、mongodb、memcached等Nosql数据库
服务器端缓存:代理服务器缓存(本地缓存、nginx缓存、Apache缓存)、CDN 缓存
浏览器缓存:HTTP 缓存、indexDB、cookie、localstorage 等等
数据库
Oracle、Microsoft SQL Server、MySQL、PostgreSQL、DB2等
读写分离
分库分表
一般架构跟随业务不断的演化,从单机应用到业务和数据分离再到加入缓存机制等等,到最后架构分布式微服务;分布式服务需要解决更多的问题.比如:分布式事务、分布式锁、分布式ID、任务调度中心、配置中心、注册中心、网关、服务监控、全链路跟踪、熔断、降级、限流、负载均衡等等.
版权声明: 本文为 InfoQ 作者【皮蛋】的原创文章。
原文链接:【http://xie.infoq.cn/article/27e23e3fa2e74dcd169363501】。文章转载请联系作者。
评论