高性能 高可用 可扩展的一些方案

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

高性能
1.轻量级的通信协议。 静态资料cdn。减少http请求的次数。
2.应用服务层面的集群,负载均衡策略来减轻单体服务器的压力
3.复杂的流程采用异步策略来减少响应时间。
5.对于复杂计算可以采用预处理,多线程并发处理等技术。 内容多的可以采用懒加载
6.合理的数据库表设计,减少表的关联查询。合理使用缓存,索引,分区,分库分表等技术。外部搜索引擎来解决核心大表的复杂查询
7.JVM优化。
8多级缓存。 HTTP协议,静态问题,数据的缓存,redis等缓存
9.乐观锁来解决多读写少的情况。

--------------------------------------------------------------
高可用  
1.服务器层面的主备或多机集群,采用负载均衡(ip hash一致性),心跳检测等机制来实现失效转移。  lvs+keepalive ngix的反向代理等。
2。服务接口层面的超时设置,重试策略,降级策略,幂等设计,异步设计。
3.分布式系统的cap ,base理论。
4.数据库层面的备份,主从机制。
5.缓存的高可用,例如redis的哨兵,集群模式
6.中间件 消息通信的高可用  rabbitmq  ack机制保证消息,集群
7. 灰度发布,自动发布
8.接口监控,自动
9.服务器,接口性能监控。
10.服务器防攻击等安全。


扩展:
1,采用微服务技术的 横向扩展
2. hash一致性的负载均衡策略
2,面向对象的设计6大原则。
单一职责,依赖导致,接口隔离,里式替换,
3.合理的系统划分,模块划分,接口划分减少耦合,提供变化的部分,公共的部分。

------------------
CAP
发红包:
A同学:  发:   cp 。(一致性重要)你的余额立马减少,而且不能使用了。  
         
B  抢
C  抢
D  抢

对于抢红包:ap (可用性),显示你已经接受到了,但是你不能立马使用。


 

转载于:https://my.oschina.net/zhaolin/blog/2050000

你可能感兴趣的:(高性能 高可用 可扩展的一些方案)