分类: backend

maven

maven 使用 pom.xml 文件声明依赖;jar 包资源使用 groupId、artifactId、version 定位。maven 下载依赖会先从本地找起,然后私服镜像,最后是 maven 官方的中央仓库。 maven 命令(maven 项目的根目录下执行)如下: mvn compile –src/main/java 编译生成 class(target 目录下) mvn test –sr

spring cloud 踩点

spring cloud 是一个基于 spring boot 的服务治理框架,它由众多服务治理组件构成: 注册中心:Erueka、Zookeeper、Consul 等用于注册、发现服务。 配置中心:Spring Cloud Config 提供分布式系统的配置管理功能(运行时更新配置文件需要 refresh 才能重新加载配置)。 网关(外部调用):Zuul、Spring Cloud Gateway

从 nacos 看领域驱动设计

按 Nacos 官网 的说法,它是一个提供便捷的服务发现、管理和配置平台。推敲 Nacos 的出产,首先它基于问题域思考所需实现的功能特性和非功能特性;再由特性思忖到逻辑架构图、领域模型、部署架构图、类视图等架构层面;再结合特性和架构图深入业务场景,完善功能实现策略;然后从开发生态这个宏观视角寻味 Nacos 需要支持的语言、技术栈;最后从市场投放这个目标视角总结 Nacos 的各种优势,并予以战

异步消息

使用 RMI、Hession、Burlap、Http invoker、web 服务等的同步消息需要等待阻塞任务完成,才能运行其他程序。同时,在同步消息模式下,接受消息的客户端与远程服务耦合:客户端需要远程服务接口的变更而变更;客户端需要感知远程服务的网络地址;客户端会随着远程服务的不可用而不可用。异步消息是无阻塞的,且不会造成消息发送者和接受者的强耦合。异步消息通常基于 message broke

我看 spring beans

先介绍两个重要的概念(详情可以参看 BeanFactory 和 FactoryBean 的区别): BeanFactory:作为接口,定义了 Spring IOC 容器最底层的编程规范,职能包含实例化、定位、配置应用程序中的 bean 及建立 bean 之间的依赖。 FactoryBean:用于实例化 bean。Spring 有两种 bean:通过反射机制使用 class 创建的 bean,如添

我看 spring mvc

spring mvc 基于 前端控制器模式 设计,通过 DispatcherServlet 这个前端控制器将请求交给可配置的委托组件处理,这就能支持请求处理的灵活性。DispatcherServlet 中请求映射、视图解析、异常处理等功能所使用的组件都通过 spring 机制发现。 DispatcherServlet 初始化Servlet3 会主动查询 WebApplicationInitiali

TDDL & DRDS

前言有三种技术可以应对不断增大的数据量: 读写分离:将数据库设置成读写分离状态,一个 Master 节点对应多个 Salve 节点。 垂直分区:将不同的业务表拆散,分别存储到不同的数据库中,仍保持 Master/Salve 模式。 水平分区(分库 or 分表,sharding):将同一个业务表(或库)拆解成多个子表(或库),比如 db0、db1。 数据库中间件详解 这篇文章不只介绍了上述三种技

我看 spring 事务机制

whatspring 事务机制提供了统一的编程模型来处理不同数据访问操作(local transactions by using JDBC, JPA, or Hibernate),同时支持分布式事务(JTA transactions);支持声明式事务编程和编程式事务编程,声明式事务编程对代码无侵入性,只需要改变配置类即可应对不同的数据访问技术;与 spring 数据访问抽象完美集成。对于 spri

docker

虚拟机和容器虚拟机和容器都是为了将实体机拆分成多块,以便分块运行不同的应用。 虚拟机技术(xem、kvm、vmware、virtualbox)需要模拟整台机器,包括硬件、操作系统等。虚拟机一旦开启,预分配给它的资源将全部被占用。虚拟机上再运行应用,并安装必要的二进制包和库。 容器技术能和宿主机共享硬件资源及操作系统,能实现资源的动态分配。容器内部安装依赖和应用,在宿主机中以分离的进程运行。Doc

java 知识点

注解java 注解与 js 装饰器拥有相当不同的实现方式:java 有编译过程,因此可以使用语法约定注解的意义,脱离了编译过程,注解将毫无意义;js 引擎却没有对装饰器给予有效支持,因此 js 装饰器在 babel 等工具中表现为使用高阶函数封装原类或方法。java 注解本质上都是集成了 java.lang.Annotation 的接口,接口名前加 @interface 标识声明。有以下四种元注解