Spring Boot-集成gRPC提供开放接口 发表于 2020-10-26 | 分类于 杂记 述gRPC 是谷歌的一个开源 RPC 框架, 因为最近要做一个跨语言平台的交互,所以选用了 gRPC 这个框架,下面记录一下从零开始跟 Spring Boot 集成的过程. proto文件编写使用 gRPC 第一步,要先编写一个 .proto 文件,这个文件的作用是定义接口的一些入参返回值等等, ... 阅读全文 »
Sentinel-配置持久化 发表于 2020-08-17 | 分类于 Sentinel 述上文通过硬编码的方式配置了服务的限流和降级, 在 sentinel 的可视化界面中,也可以直接去设置这些东西,比如下面这样: 配置资源名, QPS 阈值,或者线程数等等,这样操作比在微服务应用中写代码要方便一点,但是默认情况下,在可视化界面创建的这些规则都是存在内存中的,服务重启之后就失 ... 阅读全文 »
Sentinel-服务流控降级配置 发表于 2020-08-17 | 分类于 Sentinel 述记录一次配置 Sentinel 的过程,以及遇到的一些问题 SentinelSentinel 是一个面向云原生微服务的高可用流控防护组件,作用跟 Hystrix 类似. 具体介绍可以看 Github 可视化界面可视化界面的安装,先去 github 的 release 里面,选一个版本, ... 阅读全文 »
Kotlin-Spring Boot 混合开发 @Value 注解的使用 发表于 2020-08-17 | 分类于 Kotlin 述在 kotlin 和 Java 的混合开发中,偶尔会用到 Spring Boot 的 @Value() 这个注解, 下面记录一下 kotlin 中,使用 Spring Boot 注入属性的几种方式. 环境假设,在 Spring Boot 的 application.yml 中有这样的配置12 ... 阅读全文 »
JUC-线程协作-3-CyclicBarrier 发表于 2020-04-13 | 分类于 JUC 述CyclicBarrier 循环栅栏同样是一个线程协作工具,和 CountDownLatch 很像,都能阻塞一组线程 作用当有大量线程相互配合,分别计算不同任务,并且需要最后统一汇总的时候,我们可以使用 CyclicBarrier,CyclicBarrier 可以构造一个集结点,当某一个线程 ... 阅读全文 »
JUC-线程协作-2-Condition 发表于 2020-04-13 | 分类于 JUC 述在线程运行过程中,需要等待某个条件的时候,就可以用 Condition ,调用它的 await() 方法,进入阻塞状态等待,当另一个线程去执行对应的条件,直到这个条件达成的时候就去执行它的 signal() 方法,这时候JVM会从被阻塞的线程中找等待该条件的线程,然后唤醒,继续执行 常用方法 ... 阅读全文 »
JUC-线程协作-1-Semaphore 发表于 2020-04-13 | 分类于 JUC 述Semaphore 信号量,也是一个线程协作的工具,可以用来限制或管理数量有限的资源的使用 用法信号量的作用是维护一个 “许可证” 的计数,线程可以获取许可证,然后信号量剩余许可证数量减一,当信号量所拥有的许可证为0的时候,下一个想要获取许可证的线程就需要等待,直到有另外的线程释放了许可证 ... 阅读全文 »
JUC-线程协作-0-CountDownLatch 发表于 2020-04-13 | 分类于 JUC 述线程的运行和运行时机是不受我们自己控制的,一些情况下我们可能需要多个线程之间配合来完成一些任务,比如线程A等B线程执行完成之后运行等 CountDownLatchCountDownLatch 是一个线程协作的工具类,是一个计数器,主要用到的有以下几个方法: 构造方法,参数是 count ... 阅读全文 »
JUC-并发容器-3-队列 发表于 2020-04-13 | 分类于 JUC 述除了集合,还有一种数据结构就是队列,前面在学习线程池的时候已经接触过了,用队列可以在线程之间传递数据,最常见的就是生产者和消费者模式,队列又分为阻塞队列和非阻塞队列 阻塞队列和非阻塞队列 队列是一个逻辑结构,对应的物理结构可能是由数组或链表实现的 那么阻塞队列和非阻塞队列有什么区别 ... 阅读全文 »
JUC-并发容器-2-CopyOnWriteArrayList 发表于 2020-04-13 | 分类于 JUC 述了解了并发安全的 HashMap 之后,再来看看并发安全的 ArrayList ,就是 CopyOnWriteArrayList, 早期的版本中有 Vector 和 SynchronizedList 但是这两个锁的粒度太大,所以并发效率并不高, Copy-On-Write 并发容器还包括 Copy ... 阅读全文 »