Istio Security 发表于 2020-03-10 本文基于 Istio 1.4,翻译自Istio官网,完全手工翻译 将单体应用程序分割成多个原子服务能带来很多好处,包括更高的灵活性,伸缩性和重用性。但是微服务也有特殊的安全需求: 为了防御中间人攻击,需要流量加密 为了提供灵活的服务访问控制,需要相互的TLS和细粒度的访问策略。 为了确定谁在什 ... 阅读全文 »
JDK版本更新特性 发表于 2020-01-16 Java 8JDK8 发布于2014年3月,Oracle 在 2019 年 1 月停止免费商用更新。 Lambda 和函数式接口lambda表达式是Java8 中最重大的改变,其允许将函数当成参数传递给某些方法,或者将程序当作处理对象。最简单的Lambda表达式可由逗号分隔的参数列表、->符号 ... 阅读全文 »
Java锁 发表于 2020-01-15 JUC locks锁框架 早期的JDK版本中,仅仅提供了synchronizd、wait、notify等等比较底层的多线程同步工具。java.util.concurrent.locks包下提供了一系列基础的锁工具,用以对synchronizd、wait、notify等进行补充、增强。 1234567 ... 阅读全文 »
Java虚拟机 发表于 2019-11-13 虚拟机历史1996年1月23日,Sun公司发布JDK 1.0 这个JDK中所带的虚拟机就是Sun Classic VM。这款虚拟机只能使用纯解释器的方法来执行代码,并且解释器和编译器不能配合工作,必须每一行代码事无巨细全部编译,基于程序响应的压力,编译器也不敢应用编译耗时的优化技术。这个阶段虚拟机即 ... 阅读全文 »
Redis 发表于 2019-10-18 对象和数据结构简单动态字符串redis没有使用原生的C语言字符串实现,而是自己定义了新的数据结构简单动态字符串(Simple Dynamic String),并且作为了字符串的默认实现。同时也用作AOF的缓冲区实现。 SDS与C字符串的主要区别在于增加了free,len两个属性分别用于保存未使用的数 ... 阅读全文 »
设计模式 发表于 2019-08-30 设计模式 每一个模式描述了在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样你就能一次又一次的使用该方案而不用重复劳动。 工厂模式实际上工厂模式常规来说分为简单工厂模式和抽象工厂模式,后者是前者的升级模式,所以这里直接针对后者来说。 提供一个创建一系列相关或相互依赖对象的接口,而无需指 ... 阅读全文 »
AMQP协议 发表于 2019-08-27 概览本文基于AMQP v0.9.1 AMQP 解决了什么问题 Our goal is to enable the development and industry-wide use of standardised messaging middlewaretechnolog AMQP cre ... 阅读全文 »
ReactiveStream 发表于 2019-08-27 响应式流响应式流是一种提供具备非阻塞背压的异步流处理倡议。主要应用在运行时环境(JVM,JavaScript)和网络协议中。 需要注意的是流操作的精确特性(转化,分割,合并等)并没有被这个规范包括。响应式流只关心在不同的API组件间调节流数据。在他们的开发中,已经非常细心地确保所有组合流的基本方式都 ... 阅读全文 »
Spring MVC 自定义参数转换 发表于 2019-01-08 碰到这么一个情况,前端传递参数,后台用一个Map来接受,我希望参数是数字的,接收到的还是数字。然而后台controller里注入到的,一定都是String。当然如果需要Integer的自己取出来转换再放回去就好了。只是不免不够优雅有点low。那么我们怎么办呢?我首先想到的就是Initbinder 在 ... 阅读全文 »
HystrixCircuitBreaker 源码分析 发表于 2018-12-28 HystrixCircuitBreaker 断路器是Hystrix的核心部件,但是和翟永超的书上说的已经差别很多,基本面部全非。我尝试完全自己解析一下。先看看这个接口的结构 可以看到有5个方法,3个类。 allowRequest 每个HystrixCommand请求都会询问是否允许发起请求。它 ... 阅读全文 »