接口性能优化思路总结
对后端开发来说,接口性能优化多少都是会碰到的事,没主动找上你也要思考整理优化的思路和可能的方案。
做技术的,一定要梳理思路,勤于总结,才是快速提升之道。
对后端开发来说,接口性能优化多少都是会碰到的事,没主动找上你也要思考整理优化的思路和可能的方案。
做技术的,一定要梳理思路,勤于总结,才是快速提升之道。
JVM 全称是 Java Virtual Machine,属于程序虚拟机。
JVM 封装了一组自定义的字节码指令集,有自己的程序计数器和执行引擎,内存管理机制,线程及栈管理机制,看起来就像一台完整的计算机,这就是JVM被称为机器的的原因。
领域驱动设计是一种思维方式,也是一组优先任务,它旨在加速那些必须处理复杂领域的软件项目的开发。
两个前提:
本系列文章主要是阅读《领域驱动设计–软件核心复杂性应对之道(修订版)》–Eric Evans 书笔记。
领域驱动设计是一种思维方式,也是一组优先任务,它旨在加速那些必须处理复杂领域的软件项目的开发。
两个前提:
本系列文章主要是阅读《领域驱动设计–软件核心复杂性应对之道(修订版)》–Eric Evans 书笔记。
事件驱动架构(Event Driven Architecture)是一种分布式异步架构模式,用于创建可伸缩的应用程序,可用于小规模或大规模的应用程序,是解耦复杂系统组件的一种处理手段。
事件驱动架构模式主要包含两种实现方式,分别是调停者拓扑(Mediator Topology),代理者拓扑(Broker Topology)。Mediator 拓扑结构需要在一个事件通过 Mediator 时精心安排好具体的步骤,而 Broker 拓扑结构无需 Mediator ,而是由你串联起几个事件。
本文主要参考:Software Architecture Patterns > Chapter 2. Event-Driven Architecture
分表分库的分布式应用通常需要用到 ID 生成器生成流水号(支付流水号,订单号等),又称为发号器,以标识数据的全局唯一,ID 全局不可重复。
需要特别注意的是发号器服务的高可用性和高性能。当业务严重依赖发号器服务时,发号器服务有可能成为整个系统的短板。
所以发号器服务需要高可用集群部署来保障高可用性,需要高性能以满足高并发的场景。
架构师职责、能力,良好架构设计。
Netflix Github 官方文档:https://github.com/Netflix/Hystrix/wiki
在分布式环境中,系统所依赖的服务的稳定性存在不可控因素,不可避免地会存在失败。
Hystrix 通过隔离服务之间的访问点、阻止它们之间的级联故障并提供回退选项来做到这一点,所有这些都可以提高系统的整体弹性。
以 Spring Boot 2.6.3 版本,spring-boot-starter-web 嵌入的 9.0.56 版本 tomcat-embed-core 为例,分析 Tomcat 中的 NIO 的配置与优化。
注意:Tomcat 8.5 移除了 BIO,默认启用 NIO,Tomcat 的架构和核心组件已与 Tomcat 7.x 版本已略有不同,与网上很多基于 Tomcat 7.x 版本分析的文章是不符的,需要自己走读源码。