点击上方蓝色字关注我们~ 最近在网上看到别人提出了这个问题 : 现在从源码的角度简单剖析其原因。 我们知道,一般在配置注册中心eureka的地址类似这个: eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/ 而访问eureka注册中心控制台页面管理则是:http://localho […]
点击上方蓝色字关注我们~ 最近在网上看到别人提出了这个问题 : 现在从源码的角度简单剖析其原因。 我们知道,一般在配置注册中心eureka的地址类似这个: eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/ 而访问eureka注册中心控制台页面管理则是:http://localho […]
点击上方蓝色字关注我们~ 我们经常会面临这样的问题,在确定某个topic下应该设置多少分区数,有时并不知道应该如何设置,如何评估等。或者别人问你当前kafka集群中,具体的业务topic中分区数是多少,是如何知道需要多少分区或怎么选择比较适合的分区数。 1 结合业务场景和非业务条件 那么我们应该如何选择合适的分区数呢? 具体的业务具体分析。 但是前期我们可以根据这些条件:实 […]
消息队列(MQ)的基本概念,很多时候都要了解清楚,这样在学消息队列中间件就比较能够游刃有余,遇到不清楚的也可以重新翻来看看,加深理解。这里有关于:优先级队列、延迟队列、死信队列、重试队列、消息回溯、消息堆积、消息追踪/消息轨迹、消息过滤、消息审计、消息路由等的介绍。 01 优先级队列 优先级队列不同于先进先出队列,优先级高的消息具备优先被消费的特权,这样可以为下游提供不同消 […]
点击上方蓝色字关注我们~ 01 问题背景 最近,在使用idea开发时业务系统时,发现idea上使用了@Autowired,发现竟然被警告了!提示:Field injection is not recommended,警告如下图: what?Field injection is not recommended. (不推荐使用属性注入) 这不是常规操作吗?我们在开发的时候经常使 […]
面试官:跟我讲讲TCP的三次握手和四次挥手流程,为什么是三次握手或四次挥手? 面试者:额......不太记得了.....gg.. 在前面的文章知道,《TCP与UDP的区别》,到《TCP是如何保证可靠性》。那么接下来就是TCP的核心了,即TCP的可靠性依赖其:三次握手和四次挥手。 先思考下这三个面试题: 1、TCP 为什么三次握手而不是两次握手? […]
点击上方蓝色字关注我们~ 前段时间发现,在使用RockerMQ console时,查询消息的时候出现很慢,查询耗时大于10秒,少则5、6秒,多则14+秒。 如下图: 这到底是为什么?查询消息为啥会出现这么大的耗时? 当前使用的开发环境:操作系统是Windows10,JDK8,RocketMQ为4.5.2。 在其它机器上则没有此问题,也在本机器上的虚拟机VMware上安装的L […]
面试官:说说TCP协议是如何保证传输的可靠性? 这个面试题也是最最基础的网络面试题,比较偏向毕业生或者刚入门者,有几年的工作经验一般问的比较少,但是也要对这块了如指掌,why?毕竟基础是非常非常重要的! 从前面《笔记 | 面试官问我:TCP与UDP的区别》我们知道,TCP和UDP的不同之一是TCP可以保证数据传输的可靠性,但是你知道为什么TCP可以保证可靠性,需要依靠什么机 […]
面试官:你说你熟悉网络基础,也有网络编程的经验,那在选择tcp或udp时是出于什么目的,即 TCP 和 UDP 有什么区别? (来自网络的趣图) UDP:用户数据报协议(User Datagram Protocol)。在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中处于第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对 […]
点击上方蓝色字关注我~ 面试官:说说你对高并发的理解,并且说下并发编程中存在什么问题或挑战? 多线程理论理想趣图: 并发编程的挑战现实场景视频: 接下来我们看下并发编程存在哪些挑战吧! 1 上下文切换 CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。 […]
1 背景 最近小伙伴要上线一个小特性——审阅状态的变更。在上线的过程中,发现一个非常奇怪的问题。 基本上保证了逻辑没问题 ,多次检查也没问题。但是事实就是发生了! 小伙伴有点怀疑人生了:)。 所以我们临时的处理方式是增加日志打印,逐步验证我们的逻辑。看看我们是如何排查问题的。 使用的技术框架:springboot+jpa 2 问题排查 1)原逻辑代码 ALog a […]
点击上方蓝色字关注我们~ 1 程序计数器 一块较小的内存空间。 当前线程所执行的字节码的行号指示器。 2 虚拟机栈 描述的是Java方法执行的线程内存模型:每个方法被执行的时候,Java虚拟机都会同步创建一个栈(StackFrame)用于存储局部变量表、操作数栈、 动态连接、方法出口等信息。每一个方法被调用直至执行完毕的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。 […]
点击上方蓝色字关注我们~ 题外话:Java都有对象,那你的对象在哪里呢?那我也来new一个吧。 了解下Java是怎么创建对象,并且在内存布局和访问定位,可以很好的帮助我们认识虚拟机JVM底层的原理。 这里只是针对HotSpot虚拟机Java对象。 1 对象的创建 ■创建过程 【虚拟机视角】 1、检查这个指令的参数是否能在常量池中定位到一 […]
点击上方蓝色字关注我们~ 当我们发现线上出现bug,如何进行不停机热更新代码? 1 问题背景 当我们发现线上出现bug,在排查时可能不是很好确认问题,并且最好保留现场,才能重现问题,或者需要快速修复bug,才能比较快速或者方便的临时解决紧急问题。这时,热更新就能很好的帮助我们了。虽然可以通过发版进行解决生产问题,但是项目频繁发版会存在一定的风险: 比如用户正在使用对应功能, […]
总结下eureka系统架构和相关面试题。 〓一、定时任务汇总 客户端定时任务 1)每30秒刷新缓存(服务拉取)2)每30秒发送心跳(服务续约) 服务端定时任务 1)每10分钟更新集群节点数据2)每15分钟更新续约数及阈值3)每1分钟剔除过期注册信息 〓二、Eureka系统架构交互图 来自网上更详细的图: 〓三、常见(面试)问题汇总 1、Server节点能否在配 […]
当EurekaServer由于自身发生网络故障等原因无法接收到EurekaClient端发送的心跳(续约)时,不会将未收到心跳(续约)请求的服务下线,虽然这样短时间内可能造成EurekaServer维护的注册列表信息不是完全准确的,但保证了EurekaServer可用性。 主要通过expectedNumberOfRenewsPerMin,numb […]
BeanUtils (1) BigDecimal (1) CDC (1) ETL (1) github (1) heap (1) LLaMa (1) MAT (5) MDM (1) Sora (1) TCP (1) 业务图 (1) 企业应用 (1) 停机迁移 (1) 内存泄露 (4) 协议 (1) 可用性 (1) 基础设施层 (1) 堆内存 (1) 堆外存 (1) 大事记 (1) 实时协作 (1) 对象转换 (1) 应用架构 (1) 异常 (3) 技术规范 (1) 技术选型 (4) 提示工程 (1) 数据交换 (1) 数据共享 (1) 数据双写 (1) 日期 (1) 时间 (1) 时间线 (1) 术语 (1) 架构方案 (14) 流程图 (1) 精度 (1) 线程模型 (1) 经验分享 (1) 网络编程 (2) 解耦 (1) 软件复杂性 (1) 软件工程 (1) 重构 (4) 重试 (1) 隔离级别 (1) 集群扩容 (1) 领域层 (3) 领域模型 (1)
COPYRIGHT © 2014-2024 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang