浅谈软件设计模式与设计原则

一、从软件工程说起现在的软件行业已经是非常繁荣了,但是软件行业的发展不是一蹴而就的,也是随着硬件以及外部环境的变化不断来的,在计算机发展的初期,大部分都是具备一定规模的行业(银行、航空等)、为民众服务的政府部门通过引入计算机以及相关软件来提升效率的,所以开发的软件也大多数是相对大型的软件系统,在相关软件的开发中,当时这个新兴的行业碰到的问题也越来越多,甚至由于大型软件的开发、维护难题,有人还提出了...

高并发网站/服务常规应对方案和思路

一、并发量预估作为后端的程序开发人员,经常听到高并发,但是高并发到底有多高?其实是没有数值定义的 但是如果在面试的过程中,或者跟别人沟通的过程中,有人提到百万级并发那么可能三种情况 他在吹牛皮他没有用对并发这个词他真的很NB(例如:天猫双11关联项目组的) 截至2019/11/11,支付宝双11订单峰值是 54.4W笔/秒,单个服务的集群的QPS破百万的应该也很少 要应对多少并发,我们要看一...

Netflix Hystrix断路器简介与工作原理

一、前言?1、Netflix Hystrix断路器是什么?Netflix Hystrix是SOA/微服务架构中提供服务隔离、熔断、降级机制的工具/框架。Netflix Hystrix是断路器的一种实现,用于高微服务架构的可用性,是防止服务出现雪崩的利器。 2、为什么需要断路器?在分布式架构中,一个应用依赖多个服务是非常常见的,如果其中一个依赖由于延迟过高发生阻塞,调用该依赖服务的线程就会阻塞,如果...

单点登录(SSO)的设计与实现

一、前言1、SSO说明SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。https://baike.baidu.com/item/SSO/3451380 例如访问在网易账号中心(http://reg.163.com/ )登录之后访问以下站点都是登录状态 网易直播 http://v.163.com网易博客 http:...

分布式ID生成器解决方案SnowflakeX

一、前言什么情况下我们需要ID生成器? 数据库水平拆分的情况下,主键由于需要作为业务标识使用,需要唯一。业务编号需要暴露给用户,但是又不想被用户猜到需要被隐藏的业务编号业务编号需要体现业务信息,比如订单分类订单渠道等等 本次解决方案主要应对的场景是? 数据库水平拆分的情况下,主键由于需要作为业务标识使用,需要唯一。 本次的ID生成器设计目标? 全局唯一每秒可生成100W+趋于递增(对索引友好)高可...