特点:高并发、大流量、高可用、海量数据…
问题:性能、可用性、伸缩性、扩展性、安全性
措施:
- LB、nginx、多线程并行、MQ …
- 流控
- DB-sharding、读写分离、通用缓存ehcache、分布式缓存Memcached、热点缓存redis
- 冗余备份,容灾
- 分层-横向切分、分割-纵向切分(业务)、分布式、集群、缓存、异步、自动化、冗余、安全
RPC
核心
序列化:hession、java…
传输协议:http,tcp,MQ
统一服务管理中心 基于zookeeper
提供方、消费方
dubbo
JMS
Spring JMS + ActiveMQ
Websphere MQ
作业调度
Spring ThreadPoolTaskExecutor
Quartz框架
redis
使用jedis实现redis基本操作
缓存
分片-主备
分布式锁
数据库分库分表
集群,缓解单点压力
分库:提高数据库总连接数,提高并发量
计算某一条记录的分库数取模,分表数计算Hash
分表:缓解单表数据量较大带来的检索问题,一表500W数据
分区:PARTITION,数据存储文件拆分,利于归档
MySQL
一主两从,通过binlog实现主从复制
单元测试
Mock、PowerMock
TestNG
Maven
部署、打包
数据迁移
大数据平台
抽数
Hive分布式数据库
全量、增量迁移(程序-todo-job)