码迷,mamicode.com
首页 > 其他好文 > 详细

分布式系统常见问题

时间:2020-04-06 22:17:05      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:分布式事务   继承   比较   通过   高并发   uuid   分布式   邮箱   防止   

1.分布式问题

1. 分布式session问题。

       可以通过redis进行session存储,或者直接引入spring-session-redis-start插件,进行分布式session的控制,当然也可以用nginx的iphash,但是他是直接将ip绑定到某一台服务器,会造成负债不均衡。

2. 数据一致性问题。

       可以通过分布式事务框架,或者是最终一致性解决方案解决。

3. 冥等性问题

       在api处理业务时,一定要做表单重复处理的校验。如对相同业务的重复性处理,可以提出一个基类封装该业务的参数,其他也特定参数由继承的类封装, 然后使用aop拦截进行表单重复提交的控制。

4. 全局id问题

       可以使用redis 自增实现全局的sequence。也可以使用uuid,uuid就是可读性较差,且必须是字符串存储空间比较大。

5. 分布式锁问题

       可以使用zookepper,或者是redis实现分布式锁,但是个人更推荐乐观锁来进行控制。

2.高并发问题

       1. 如何提高接口的qps?

       ①可以使用ehcache和redis 做一二级缓存,提高接口的qps。

       ②比如注册过后需要发送手机验证码,发送邮箱。 也可以使用队列来解耦,提高qps。

3. 高可用问题

       1.巧妙的使用缓存防止请求直接穿透到数据库中。

       2. 使用Hystrix防止雪崩效应。防止服务的堆积。

      

分布式系统常见问题

标签:分布式事务   继承   比较   通过   高并发   uuid   分布式   邮箱   防止   

原文地址:https://www.cnblogs.com/chenfei-java/p/12649989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!