Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
异步编程指南
使用CompletableFuture实现Java方法异步调用和回调
Java方法的异步调用最容易联想到使用线程,将需要异步执行的方法放在另外一个线程中执行:
Spring Boot和Kafka实战自定义复杂配置示例
这篇博客文章展示了如何配置Spring Kafka和Spring Boot以使用JSON发送消息并以多种格式接收它们:JSON,纯字符串或字节数组。基于此配置,您还可以将Kafka生成器从发送JSON切换到其他序列化方法。此示例应用程序还演示了同一消费组中三个Kafka消费者的使用情
Spring Boot的并发编程
使用Spring Boot构建服务时,我们必须处理并发!通常有这样的误解:由于使用Servlet,而Servlet背后是一个线程池支持,线程池会为每个请求分配的新线程,请求之间不存在冲突,因此无需考虑并发性,本文提供一些关于处理Spring Boot中多线程处理的实用建议。
Java中的CompletableFuture超时使用
我喜欢Java 8的CompletableFuture,但它有它的缺点: 惯用的超时处理就是其中之一。 幸运的是,JDK 9带来了两种新方法,可以为每个人提供渴望的功能 - 这对于确保在使用异步处理时的正确弹性至关重要。
Spring 5与Spring cloud的响应式编程之旅
全新的Spring Cloud Finchley GA版本是Reactive(响应式/反应式)微服务之旅的一个重要里程碑。下面是Spring的Josh Long有关Reactive Spring Cloud介绍文章: Spring框架5.0发布于2017年
微服务分布式事务
当微服务架构将单体系统分解为一个个单一微服务时,它可能破坏了事务。这意味着单体系统中的本地事务将分布到按顺序调用的多个服务中。 以下是使用本地事务的单体系统的客户订单示例:
是时候迁移到Java 11了
更好的垃圾回收机制以及模块化、更好地Docker支持是迁移到Java 11的最主要理由。 为什么要将源代码升级到Java 11?1、变量类型推断(var关键字),强类型向Javascript等弱类型学习2、原生不可修改集合API,集合不可变
使用Spring Request-Reply实现基于Kafka的同步请求响应
大家提到Kafka时第一印象就是它是一个快速的异步消息处理系统,不同于通常tomcat之类应用服务器和前端之间的请求/响应方式请求,客户端发出一个请求,必然会等到一个响应,这种方式对Kafka来说好像不适合,因为Kafka是一种事件驱动方式,通过事件才能激活一个响应,但是,问题来了,很多人习惯请求响
使用Spring Boot的Kafka消息机制实现请求响应模型
Spring Apache Kafka (spring-kafka)提供了基于卡夫卡的消息传递解决方案的高级抽象。传统的请求响应模型中,响应容易被堵塞,造成两个系统耦合,调用者需要等待到响应返回才能继续做自己的工作,这在分布式系统中,流量比较大情况下几乎不现实,使用消息模型只能每次请求一个消息,响应
如何实现Spring boot应用并行调用?
在我们的一个财务项目中,我们遇到了性能问题,其中一些问题是由于多次连续调用造成的,实际上,我们做了很多单独的同步调用。 例如,我们进行了三个调用来获取一些信息:客户信息、账户信息和他的投资选择,在我们的这个例子中,当发生这些调用之后,我们需要使用调用结果,
Java 11:在Java中处理HTTP和WebSocket的新方法!
借助Java 11,Rest API调用非常简单轻松。在本文中,Adrian D. Finlay解释了如何利用Java 11中的新异步API来执行REST API调用,实现HTTP和WebSocket操作。 曾几何时,使用Java SE(标准版)API执行
Spring Webflux入门
Spring Boot现在采用了反应式编程(响应式Reactive),它是一种非阻塞的异步应用程序和事件驱动编程。Spring Framework在内部使用Reactor支持这种Reactive支持,Reactor是一个Reactive Streams实现,它进一步扩展了Publisher模
Sirix.io是如何基于Vert.x和Kotlin协程构建异步RESTful API
Sirix是一个存储系统,它的核心是日志结构,读取可以是随机的,并且在事务提交期间将写入批处理并同步到磁盘。数据永远不会写回到同一个地方,因此不会就地修改,相反,Sirix在记录级别使用写时复制(COW)(因此,它创建页面片段并且通常不复制整个页面),每次必须修改页面时,已更改的记录都会写入
利用Lambda表达式进行Java中的惰性求值
在java中,懒性求值也称懒计算lazy evaluation功能可能被忽视了(实际上,在语言层面,它几乎仅限于最小求值的实现) - 例如Scala等高级语言区分了按值调用和按名称调用,或引入像lazy这样的专用关键字。 虽然Java 8通过提供Lazy
在Java中使用Callable和Future
最近,我们正在开发一个监控仪表板,我们想要ping几个第三方服务器,只是为了检查它们的可用性,或者我们想要调用健康检查。我们正在对服务器进行一系列api调用,这些服务器的IP,用户名和密码被外部化为环境变量。然后是我们的负载均衡器抛出HTTP 504(网关超时)的挑战,因为这
揭开Kotlin协程的神秘面纱
Kotlin协程提供了一种新的异步执行方式,但直接查看库函数可能会有点混乱,本文中尝试揭开协程的神秘面纱。 让我们从基础开始吧,假设有一个名为launch可以用来启动协程
使用延迟加载提升SPA性能
如果您是Web开发人员,很可能您正在使用Webpack作为模块捆绑器,并且可能您不知道延迟加载是什么。 什么是延迟加载?你也许会想:“延迟并不是快,可能正好相反”,你在语义上没有错,但还有另一种方法,让我们看看We
无服务器最佳实践
该Serverless无服务器最佳实践认为:无服务器是继承事件驱动EDA和异步编程范式,其实是一系列FaaS函数服务和队列的序列。对于一个后端是无服务器的应用,最好的架构是参考CQRS。这些无服务器的最佳实践主要针对大规模和突发性工作负载而不是相对较低的水平,因此很多这些最佳实践来自
上页
下页