异步编程
梦江河
聊聊高并发,数据库,存储
展开
-
RocketMQ Broker存储过程
1)接收生产者发送过来的消息,写入到commitlog,这里如果开启了堆外内存,会写到堆外内存; 2)然后是commitlog文件的刷盘,有两种策略:同步刷盘和异步刷盘,如果是同步刷盘,会将commitlog文件刷回磁盘再返回给客户端,如果是异步刷盘+不开启堆外内存,那么会有异步线程定期将commitlog文件刷回磁盘,如果是异步刷盘+开启堆外内存,那么会先把数据从堆外内存拷贝到commitlog文件对应的mmap内存区,再通知异步线程定期将commitlog文件刷回磁盘;...原创 2022-06-19 22:47:13 · 142 阅读 · 0 评论 -
Dubbo网关选型
1)zuul zuul网关集成dubbo 2)gateway springcloud gateway的底层是webflux+netty+reactor,三个重要组件分别是 路由(route) 路由是网关中最基础的部分,路由信息包括一个ID、一个目的URI、一组断言工厂、一组Filter组成。如果断言为真,则说 明请求的URL和配置的路由匹配。 断言(predicates) Java8中的断言函数,SpringCloud Gateway中的断言函数类型是Spring5.0框架中的ServerWebExchan原创 2021-09-20 23:27:50 · 1361 阅读 · 0 评论 -
CompletableFuture非常用方法
public boolean complete(T value) public boolean completeExceptionally(Throwable ex) completedFuture(U value) exceptionally(Function<Throwable,? extends T> fn) getNow(T valueIfAbsent) getNumberOfDependents() obtrudeException(Throwable ex) obtrudeValue原创 2020-09-01 16:02:35 · 348 阅读 · 0 评论