靡不有初,鲜克有终
04
28
架构设计原则 架构设计原则
从程序员到架构师,需要跨域一个鸿沟“不确定性”。在开发中,写出来的代码执行结果是确定的,但是对于架构来说,本质就是不确定的。同样的系统,A公司和B公司架构差异很大,但是都能运行。同一个方法,A方案也能做,B方案也能做,但是各有各的道理。相比
2022-04-28
26
架构设计目的 架构设计目的
了解了架构是什么,那就想想为什么需要软件架构。 随着互联网项目越来越庞大,需求越来越多也越来越复杂。在计算机软件的发展史中可以看出,软件的发展史其实就是一直与“复杂度”作斗争,架构的出现也不例外。所以,架构出现的目的就是为了解决这些复杂
2022-04-26
26
软件架构基础 软件架构基础
“架构”到底指什么对于开发人员来说,架构是一个最常见不过的名词了: 给新员工介绍软件整体架构,参加架构设计评审,学习优秀的架构设计。那么深究一下架构是什么,很多人都回答不上来。 我们先理清以下的几个概念,再来回答架构是什么。 系统与子系
2022-04-26
25
关于注册中心的一些讨论 关于注册中心的一些讨论
今天在家水群的时候,发现群里在讨论关于注册中心的选择,Zookeeper,Nacos,Eureka到底是用哪个。有人说用Zookeeper好,有人说Nacos好,各有各的说法。具体怎么好,也没人说上来。其实说来说去,就是在CAP定理中,选择
2022-04-25
22
LVS+Keepalived+nginx实现负载均衡集群 LVS+Keepalived+nginx实现负载均衡集群
LVS:一种四层负载均衡器,软负载均衡,完成所有负载均衡业务需求,比如数据库、web服务、虚拟化技术。Linux2.4内核之后,默认集成。 Keepalived:LVS基础之上,实现心跳检测、监控服务器实现故障转移,如果服务器发生宕机,可
2022-04-22
22
基于zookeeper实现分布式锁 基于zookeeper实现分布式锁
对于锁大家肯定不会陌生,在Java中synchronized关键字和ReentrantLock可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问,但是随着分布式的快速发展,本地的加锁往往不能满足我们的需要,在我
2022-04-22
13
Spring Boot启动之前做了哪些事 Spring Boot启动之前做了哪些事
探究一下在调用我们写的main方法之前,SpringBoot框架为我们做了哪些事情。 Spring Boot Jar文件探究初始化一个Spring 应用,添加如下依赖 <?xml version="1.0" encoding="
2022-04-13
13
Spring IOC⾼级特性 Spring IOC⾼级特性
主要介绍四个高级特性: SpringBean的生命周期,lazy-Init 延迟加载,FactoryBean 和 BeanFactory,后置处理器 SpringBean的生命周期 实例化Bean,根据配置情况调⽤ Bean 构造⽅法
2022-04-13
08
使用Spring实现观察者模式 使用Spring实现观察者模式
观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新,其主要解决一个对象状态改变给其他关联对象通知的问题,保证易用和低耦合。更多观察者模式的资料:观察者模式 一个典型的应用场
2022-04-08
06