自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 IO Reactor模式 JAVA

JDK 1.5前的BIO相关API 只涉及Kernel BIO相关的IO模型对应的systemCallJDK 1.5后的NIO(new I/O)相关API 涉及Kernel & BIO NIO & Multiplexing 对应的systemCall来个粗犷点的描述:以功能上来看 JAVA NIO >= JAVA BIO API。

2023-04-27 14:05:28 224

原创 Springboot web应用优雅关闭浅谈

当Springboot Web(2.3.0前) 应用通过nginx负载均衡, 应用节点进行滚动重启时, 发现nginx会将请求转发到处于shutdown阶段的节点. 此时由于应用内资源已释放(e.g singletion destruction), http请求将无法得到适当的处理, 从而影响系统运行/用户体验.

2023-01-16 18:10:06 736

原创 Elasticsearch与SQL-styleJoin 前篇

Elasticsearch 与SQL-style Join上下文Elasticsearch(后面简称ES)作为火热的开源&分布式&Json文档形式的搜索引擎在互联网行业被广泛应用. 作为一种NoSQL数据存储服务, ES的侧重点放在了扩展性(Scalability) 与可用性(Availability)上, 提供了极快的搜索与索引文档能力(省略各种对ES的赞美…就如同你知道的…主要提供搜索的能力!)然而, 来自SQL世界的我们, 日常被各种关系性数据充斥着, 使用ES常常疑惑为什么大

2021-05-26 23:20:11 987 6

原创 熔断模式与延迟错误容忍系统 章二

熔断模式与延迟错误容忍系统 章二起源什么是熔断模式目标 -> 远程调用失败后的降级熔断降级模块设计(抽象层 已删除业务相关模块 )设计分析(Sentinel为例,后文会有Hystrix的例子)起源承接熔断模式与延迟错误容忍系统 本文以一具体场景的业务目标作为切入点, 从设计到代码层面聊聊对熔断模式的理解什么是熔断模式老生常谈 就跟我们建房子要考虑保险丝一样, 在分布式环境下的系统难免会出现依赖(Hhystrix的定义)或资源(Sentinel的定义)不可用的场景, 通过引入熔断组件能一定程度

2020-07-17 18:21:39 1040

原创 BIO NIO 粘包与拆包

BIO NIO 粘包与拆包动机什么是粘包与拆包那为什么我们经常把粘包拆包问题与NIO一起谈在TCP相关的API中没有packet相关的概念NIO模式 与粘包拆包动机Netty 提供了大量的开箱即用的组件, 这些组件对使用者透明了很多技术实现细节, 粘包拆包就是其中很有趣的部分.本人在使用LengthFieldBasedFrameDecoder(在自定义通讯协议的场景下经常被使用: 作为TCP数据包 -> 业务数据包的拆包解析器)时对这个组件的参数还有用法产生了困惑,查阅了一些资料也阅读了源码…写

2020-07-08 21:06:52 601

原创 浅谈数据库中的C(一致性)

浅谈数据库中的C由来何为数据库中的一致性由来一致性一致是个很有趣的话题, 在不同的上下文边界有不同的讨论点(e.g 分布式下会讨论最终一致性, 一致性Hash…etc)本文结合Wikipedia中对数据库中的一致性描述浅谈数据中的一致性(本文对一致性术语的使用都特指数据库下的一致性)何为数据库中的一致性Wikipedia中对一致性的描述(定义A) :Consistency in database systems refers to the requirement that any given

2020-06-17 15:07:24 499

原创 巨问G1 G1 G1

巨问G1 G1 G1由来1问:G1与堆内存?两个重要的参数G1 如何划分内存2048个regions -> 4类:2问:G1如何工作?G1与Young GC(名词)Young GC的触发A. 标记(触发前)并发? 同步标记?B. Young GC 停止应用(Stop The World)?G1与Old GC(名词)Old GC的触发为什么45%A. 标记(触发后)A1. Tri-Color ...

2020-04-05 23:31:21 455

原创 熔断模式与错误/延迟容忍系统

熔断模式与错误/延迟容忍系统由来基本概念实现小细节(JDK 1.8)总结由来现有工程涉及大量第三方供应商的调用,一次远程调用就像一个“黑盒”充满了未知因素 : 可能会失败,可能会挂起直到请求client的最大容忍时间,可能使请求路由到意外的代码…第三方的各种"不靠谱"可能会消耗尽服务器的资源,从而阶梯式地导致一系列连锁"灾难"-整个Web线程资源耗尽,请求的堆积,上游的阻塞等等(参考Netf...

2020-03-23 23:15:35 1447

原创 JDK1.8 动态代理浅谈

JDK1.8 动态代理浅谈由来动态代理 -> 代理模式PLUS实现小细节(JDK 1.8)总结由来作为GOF23种设计模式中结构型设计模式中的一种, 代理模式在我们项目工程中算是较为常见的了。见名知意,代理就像是中间人一样控制客户端对真实主题(Real Subject)的访问,通过访问代理对象, 客户端能获得比直接访问真实主题更加强大的功能,同时也被限制了部分对真实主题破坏性的操作,起...

2020-01-11 23:10:47 644

原创 Spring AOP 浅谈

Spring AOP & JAVA浅谈由来AOP简单概念核心切片概念总结JAVA浅谈)由来Spring框架及衍生产品广泛地应用于商业级工程项目,大家聊起Spring时往往离不开IOC(Inversion Of Control)与AOP(Aspect-oriented Programming), Spring的普及以及其对@AspectJ表达式的支持在一定程度上掩盖了纯粹Aspec...

2020-01-11 21:17:29 314

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除