- 博客(21)
- 收藏
- 关注
原创 dubbo详解
Dubbo 处理流程调用流程:服务提供者在服务容器启动时 向注册中心 注册自己提供的服务服务消费者在启动时 向注册中心订阅自己所需的服务注册中心返回服务提供者地址列表给消费者 如果有变更 注册中心会基于长连接推送变更数据给消费者服务消费者 从提供者地址列表中 基于软负载均衡算法 选一台提供者进行调用 如果调用失败 则重新选择一台服务提供者和消费者 在内存中的调用次数 和 调用时间 定时每分钟发送给监控中心Dubbo配置项说明dubbo:application对应 org.apache.d
2020-08-02 10:59:41 255
原创 ZooKeeper详解
Zookeeper简介分布式系统定义及面临的问题ZooKeeper最为主要的使用场景,是作为分布式系统的分布式协同服务。我们将分布式系统定义为:分布式系统是同时跨越多个物理主机,独立运行的多个软件所组成系统。类比一下,分布式系统就是一群人一起干活。人多力量大,每个服务器的算力是有限的,但是通过分布式系统,由n个服务器组成起来的集群,算力是可以无限扩张的。优点显而易见,人多干活快,并且互为备份。但是缺点也很明显。我们可以想象下,以一个小研发团队开发软件为例,假设我们有一个5人的项目组,要开始一 一个
2020-07-25 10:43:28 381
原创 分布式理论架构设计
分布式理论分布式架构系统回顾分布式系统概念分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。通俗的理解,所谓分布式系统,就是一个业务拆分成多个子业务,分布在不同的服务器节点,共同构成的系统称为分布式系统,同一个分布式系统中的服务器节点在空间部署上是可以随意分布的,这些服务器可能放在不同的机柜中,也可能在不同的机房中,甚至分布在不同的城市。分布式系统的演变分布式系统面临的问题1)通信异常网络本身的不可靠性,因此每次网络通
2020-07-21 15:51:52 353
原创 分布式集群架构场景化解决⽅案
1 分布式和集群的概念分布式和集群是不⼀样的,分布式⼀定是集群,但是集群不⼀定是分布式(因为集群就是多个实例⼀起⼯作,分布式将⼀个系统拆分之后那就是多个实例;集群并不⼀定是分布式,因为复制型的集群不是拆分⽽是复制)2 ⼀致性Hash算法2.1 初识Hash算法Hash算法,⽐如说在安全加密领域MD5、SHA等加密算法,在数据存储和查找⽅⾯有Hash表等, 以上都应⽤到了Hash算法。2.2 为何使用HashHash算法较多的应⽤在数据存储和查找领域,最经典的就是Hash表,它的查询效率⾮常之⾼
2020-07-06 21:39:36 286
原创 Nginx应用和原理剖析
1 Nginx基础1.1 Nginx 到底是什么?Nginx 是⼀个⾼性能的HTTP和反向代理web服务器,核⼼特点是占有内存少,并发能⼒强1.2 Nginx 应⽤场景Http服务器(Web服务器)性能⾮常⾼,⾮常注重效率,能够经受⾼负载的考验。⽀持50000个并发连接数,不仅如此,CPU和内存的占⽤也⾮常的低,10000个没有活动的连接才占⽤2.5M的内存。反向代理服务器首先理解什么是正向代理在浏览器中配置代理服务器的相关信息,通过代理服务器访问⽬标⽹站,代理服务器收到⽬标⽹站的响应之
2020-07-05 00:59:43 326
原创 springboot源码分析
1 依赖管理spring-boot-starter-parent如何管理依赖每一个springboot项目都有一个依赖管理点版本号查看,发现底层有一个父依赖spring-boot-dependencies,然后继续点击spring-boot-dependencies查看源码,发下如下...
2020-06-21 10:04:00 211
原创 springMVC应用
springMVC应用1 mvc体系架构三层架构(架构层面)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6elRYgLf-1591892083777)(C:\Users\东\AppData\Roaming\Typora\typora-user-images\image-20200611231342169.png)]mvc架构(属于表现层)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IKxnClPJ-1591892083779)(C
2020-06-12 00:15:56 201
原创 spring
1 beanFactory和ApplicationContext的区别BeanFactory是Spring框架中IoC容器的顶层接⼝,它只是⽤来定义⼀些基础功能,定义⼀些基础规范,⽽ApplicationContext是它的⼀个⼦接⼝,所以ApplicationContext是具备BeanFactory提供的全部功能的。通常,我们称BeanFactory为SpringIOC的基础容器,ApplicationContext是容器的⾼级接⼝,⽐BeanFactory要拥有更多的功能,⽐如说国际化⽀持和
2020-06-11 14:42:19 121
原创 将本地项目上传至gitee的方法
1 在gitee上创建以自己项目名称命名的空项目2 git bash 到本地项目目录下3 git init4 git add .5 git commit -m ‘init’6 git remote add origin git@gitee.com:xxx/xxx.git7 git push -u origin master
2020-06-08 18:04:29 1330
原创 Mybatis中 # 和 $ 的区别
#符会执行预编译语句,以占位符方式运行,字符串方式就行传参。$$符是以单纯的sql拼接去执行sql语句,会有sql注入的风险。
2019-11-15 14:56:36 153
原创 Thread.currentThread().getName() 和 this.getName()的区别
Thread.currentThread().getName() 表示当前代码被哪个线程调用this.getName() 表示当前线程(当前这个这段代码属于哪个线程里边的)1 线程实体2 测试类
2019-11-12 19:49:06 571 1
原创 接口和抽象类的区别
1 接口没有构造方法;抽象类可以有构造方法。2 接口的方法只有定义没有实现,而抽象类的方法既可以有定义,也可以有实现。3 接口是被实现的,抽象类是被继承的。4 接口的属性和方法的访问修饰符只能是PUBLIC,而抽象类可以是任意一个。...
2019-11-07 19:38:11 111
原创 类变量和实例变量的区别
成员变量和实例变量的区别成员变量 用static修饰的类的属性属于成员变量,成员变量被该java类所共享,一旦被改动,其他对象得到的都是改变后的结果实例变量 类的一般属性,由类的实例所控制。...
2019-11-06 20:17:30 187
转载 RabbitMQ如何保证消息99.99%被发送成功?
本篇概要RabbitMQ针对这个问题,提供了以下几个机制来解决:生产者确认持久化手动Ack本篇博客我们先讲解下生产者确认机制,剩余的机制后续单独写博客进行讲解。生产者确认要想保证消息不丢失,首先我们得保证生产者能成功的将消息发送到RabbitMQ服务器。但在之前的示例中,当生产者将消息发送出去之后,消息到底有没有正确地到达服务器呢?如果不进行特殊配置,默认情况下发送消息的操...
2019-06-16 11:06:26 874
转载 什么是负载均衡
1.背景介绍随着 Internet 的快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长,特别是对数据 中心、大型企业以及门户网站等的访问,其访问流量甚至达到了 10Gb/s 的级别;同时,服务器网 站借助 HTTP、FTP、SMTP 等应用程序,为访问者提供了越来越丰富的内容和信息,服务器逐渐 被数据淹没;另外,大部分网站(尤其电子商务等网站)都需要提供不间断 24 小时服务,任何服 ...
2019-06-16 10:46:38 130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人