- 博客(13)
- 收藏
- 关注
原创 虚拟IP注册Nacos的问题
虚拟IP注册Nacos的问题问题:A服务器有两个网卡,网卡 lo 绑定了 127.0.0.1 和一个虚拟IP,网卡 eth0 绑定了本地公网IP和一个虚拟IP。同样B服务器的网卡也是相同的配置,A、B服务器拥有的虚拟IP都是同一个地址。当将A、B服务器部署相同的服务并注册到nacos上,导致nacos上该服务只有一个实例,并且实例的地址是虚拟IP。这样将会导致我们无法准确获取某一个服务的健康状况。但因为使用的虚拟IP,所以同样可以通过虚拟IP的负载均衡访问到两台服务器。实例如图:解决办法:客户
2022-01-12 09:35:19 2185
原创 RocketMQ技术分享和部分源码解读
RocketMQ分享文章目录RocketMQ分享什么是消息中间件,为什么需要?1. 系统解耦2. 异步调用3. 流量削峰RocketMq的基本架构启动的过程:功能特性:深入了解一下消息存储的结构对于中间件,我们肯定回考虑到的两点,高可用和高并发性首先,我们来说一下RocketMQ为什么具有 `高可用性`接下来,我们来讨论一下为什么RocketMQ具有高并发性最后,我们来讲解一个比较感兴趣的几个点1. RocketMQ如何实现分布式事务的?2. RocketMq生产者、消费者如何实现的重试机制?什么是消息
2021-08-05 17:01:00 254
原创 Mybatis的一二级缓存源码分析
Mybatis的一二级缓存源码分析文章目录Mybatis的一二级缓存源码分析一级缓存介绍原理讲解优缺点二级缓存介绍原理讲解优缺点实现redis来作为mybatis的二级缓存一级缓存介绍同一个sqlSession或者statement里面,如果请求的语句参数一样,就会命中缓存直接返回,不会再去查询数据库。一旦数据库有修改,缓存则会失效。mybatis: configuration: local-cache-scope: session ##一级缓存范围 有session和stat
2021-07-08 16:30:05 368
原创 JAVA多线程
Java多线程文章目录Java多线程AQS信号量Semaphore实例,实现多个窗口购买电影票闭锁CountDownLatch实例,跑步比赛,多人同时进行同步屏幕CyclicBarrierCyclicBarrier 与 CountDownLatch 区别java里面的各种锁乐观锁和悲观锁自旋锁和非自旋锁AQSAQS(AbstractQueuedSynchronizer)提供了实现阻塞锁、FIFO等待队列的同步器的框架。上述的信号量都会用到。是除了Synchronized在JVM层面提供锁以外的锁机制,
2021-07-08 16:29:06 360
原创 OpenFeign 和 Hystrix 的源码解读(原创)
OpenFeign 和 Hystrix 的源码解读(原创)Hystrix文章目录OpenFeign 和 Hystrix 的源码解读(原创)Hystrix什么是Hystrix雪崩效应雪崩效应的解决方案请求缓存:支持将一个请求和返回结果做缓存处理请求合并:将相同的请求合并进行批量请求服务隔离:服务间进行分割开来,资源互不影响使用线程池对每个接口进行隔离,保证接口之间互不影响 (适用于99%的场景)a使用信号量隔离,每次请求通过计数信号量来限制的,当信号量大于了最大请求数maxConcurrentReques
2021-07-08 16:28:02 675
原创 消息中间件选型和关于RocketMQ的事务处理
消息中间件选型和关于RocketMQ的事务处理文章目录消息中间件选型和关于RocketMQ的事务处理市面上比较流行的消息中间件以及如何选型关于消息中间件的几个思考为什么需要消息中间件消息中间件有哪些缺点如何保证消息队列的高可用如何保证消息的不重复消费如何保证消息的不丢失如何保证消息的顺序性RocketMQ功能特性:架构消息事务根据上面的事务消息的例子,我们可以讨论一下为什么rocket可以解决分布式事务的问题?市面上比较流行的消息中间件以及如何选型关于消息中间件的几个思考为什么需要消息中间件消息队
2021-07-08 16:26:39 180
原创 Nginx代理转发location配置的坑
Nginx记录一次Nginx的巨坑,坑了一下午的时间述求: 配置 http://xxx/api/xxx 转发到 http://xxx:8080/xxx 端口地址原有的配置: location /api { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
2021-04-29 17:36:10 1169 3
原创 Eureka注册中心源码解析
SpringCloud组件Eureka注册中心EurekaInstanceConfigBean eureka的基本配置类信息Bean ~~~~ ->CloudEurekaInstanceConfig Cloud的eureka所需的基本配置信息 ~~~~ ~~~~&
2021-04-28 18:26:25 121
原创 SpringBean的生命周期
SpringBean的生命周期实例化 (构造方法)属性赋值 (setter)初始化销毁如下三个方法与上面的3个生命周期一一对应 protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final @Nullable Object[] args) throws BeanCreationException { // Instantiate the bean
2021-04-15 15:21:29 95
原创 Okhttp3源码分析
Okhttp3源码分析使用例子 @Test public void testOkhttp3() throws IOException { RequestBody requestBody = RequestBody.create(MEDIA_TYPE_JSON, JsonUtils.toJson(paramMap)); OkHttpClient client = new OkHttpClient().newBuilder()
2021-03-30 15:28:24 176
原创 大厂小米面试题(含部分答案)-20210301
算法题1.饿汉模式的两种写法,一个方法块的,一个代码段的2.怎么判断一个链表有没有回环,讲述时间复杂度和空间复杂度(一定要判断是否为空,在算法题中,会有加分)基础1.protected的访问范围是什么,private和protected的区别是什么2.volatile的原理,保证了多线程的什么特性?可见性,有序性,有序性中的可见性,有序性。3.synchronized会导致死锁吗?什么情况下会出现死锁的情况互斥:共享资源X被T1占用时,其他线程不允许使用共享资源X占有且等待:线程T1
2021-03-26 18:14:50 829
原创 动态路由实例
动态路由1.发布监听Redis主题的变化动态切换路由1. 使用到ApplicationEventPublisher观察者模式(订阅-发布)ApplicationEventPublisherAware是由Spring提供的用于为Service注入ApplicationEventPublisher事件发布器的接口,使用这个接口,我们自己的service也具有发布时间的能力。例如,用户注册之后,不是调用service,而是发布一个用户注册事件。 @Service public clas
2021-03-26 18:12:26 162
原创 SpringBoot的自动加载原理
SpringBoot的自动加载原理1. @SpringBootApplication@SpringBootApplication 是一个复合注解,其中包括三个比较重要的注解:@ComponentScan扫描当前包以及子包的所有类的,将带有注解的类都加载到IOC容器中@EnableAutoConfiguration基于配置项,引入一些依赖类。扫描所有jar包下面的META-INF/spring.factories,该文件的配置类就是我们开发所需要的工具类。然后将这些依赖类注入到IOC容器中。整个
2021-03-26 18:07:12 236
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人