众所周知,数据库很容易成为应用系统的瓶颈。单机数据库的资源和处理能力有限,在高并发的分布式系统中,可采用分库分表突破单机局限。本文总结了分库分表的相关概念、全局ID的生成策略、分片策略、平滑扩容方案、以及流行的方案。

阅读全文

Docker 是世界领先的软件容器化平台,它极大地方便了应用程序的构建、发布和运行。本文总结了 Docker 架构原理及其作用,并以 CentOS 7 环境为例,总结了 Docker 的环境搭建,镜像和容器的常用操作方法。

阅读全文

CAT 是大众点评开源的实时监控系统,它侧重于 Java 应用监控,可与各种流行的中间件框架集成(MVC框架、RPC框架、数据库框架、缓存框架等),实现应用各层级系统的运行状况监控。本文总结了 CAT 服务器集群的搭建、Java 应用的集成、以其控制台的使用。

阅读全文

OCTO 是美团千亿调用量的分布式服务通信框架及服务治理的系统,可实现服务注册、服务自动发现、服务管理、容错处理、数据可视化、服务监控报警、服务分组等。本文总结了 OCTO 架构原理、Java 应用的集成方法、以其控制台的使用。

阅读全文

Java 开发可分为两种情况:前后端分离,适合于生命期长、迭代频繁的企业应用开发;后端不分离,则适合于短期的、演示性小项目,此时服务端可采用 Spring 官方推荐的模板 Thymeleaf。本文总结了 SpringBoot 整合 Thymeleaf 的开发要点。

阅读全文

SpringBoot 是快速开发 Spring 项目的流行框架,而 MyBatis 是 Spring 中数据库操作的流行方案。本文以 MySQL 为例,总结了 SpringBoot 项目中借助 MyBatis Generator 的生成实体类和Mapper,并使用它们操作数据库的开发要点。

阅读全文

数据库事务是多个SQL构成一个业务整体,必须同时提交或同时回滚。而分布式事务中,一个大操作由多个小操作组成,各个小操作处于不同的物理节点(或进程),这些小操作必须作为一个整体,同时提交或同时回滚。本文总结了事务的特性,以及 MySQL/Redis/MQ 的分布式事务的具体解决方案。

阅读全文

Maven 私服通常采用 Nexus 搭建,本文以 CentOS 为例,总结了 Nexus 搭建方法。搭建 Maven 私服的必要性有:(1)整个公司只需把因特网上的公共仓库缓存至局域网私服一次,公司内所有开发人员直接从局域网私服下载,速度很快;(2)公司内部开发的组件,上传至私服,供整个公司使用。

阅读全文

Github 只对开源的项目免费,非开源项目必须付费。为了不付费,也为了代码安全,我们需要搭建自己的 Git 服务器,而且国内访问速度更快。Git 的远程仓库和本地仓库没有本质区别,远程仓库只是保证永远在运行。

阅读全文

Alibaba Dubbo 是国内流行的微服务框架,而 SpringCloud 是国外流行的微服务框架。SpringCloud 为微服务提供一站式完整的解决方案,具有独特的优势和发展前景。本文讲述了 SpringCloud 的历史和版本号规则、与同类产品相比的优势,并基于 SpringBoot 演示了服务注册中心、服务提供者和消费者的实现方法,并说明了高可用注册中心的部署思路。

阅读全文

默认情况下,SpringBoot 内置 Tomcat,可以直接在 Java IDE 中启动,也可以打成 jar 包,用 java -jar 命令启动。但是,如果要用外部 Tomcat 管理多个项目,就要打成 war 包。本文以 Maven 项目为例,总结了 SpringBoot 各种部署方法和相关事项。为便于演示,我使用的环境是 Windows,而 Linux 下方法大同小异。

阅读全文

SpringBoot 是 Spring 官方当前力推的开发框架,它以合理的默认值,开发者以极少的配置即可快捷地搭建应用,足以让传统的 Spring 开发者拍案叫绝!本文简述了 SpringBoot 的原理和作用,并以实例演示常见 WEB 项目的构建方法,其中包括数据库和 Redis 的接入方法。

阅读全文

上篇文章 Dubbo 原理与部署 讲述了 Dubbo 注册中心(ZooKeeper)的搭建,但其中的服务提供者和消费者需要开发者实现,本文详述两者的实现方法。各方部署完毕后,一个基本的微服务架构就完成了。传统上是以 Spring 实现,现在也有 starter 帮助以 SpringBoot 的方式实现。

阅读全文

微服务架构在企业开发中应用越来越广泛,而 Alibaba Dubbo 代表国内微服务框架的最高成就,在国内有广泛的应用。本文讲述了 Dubbo 要解决的问题、现状和架构原理,注册中心/提供者/消费者的实现方法,以及服务治理控制台的部署与使用。

阅读全文

上篇文章 Kafka 工作机制 讲述了 Kafka 的各组件(包括配置中心、Broker、消息生产者和消费者)的作用,分区与复制的机制等。有了这些概念,本文以三个 Broker 为例,讲述了 Kafka 集群的搭建步骤和方法,并以官方自带的命令行脚本进行消息的生产、消费、查看等操作。

阅读全文

Kafka 是 Apache 的子项目,是一个高性能跨语言的分布式发布/订阅消息队列系统(没有严格实现 JMS 规范的点对点模型,但可以实现其效果),在企业开发中有广泛的应用。高性能是其最大优势,劣势是消息的可靠性(丢失或重复),这个劣势是为了换取高性能,开发者可以以稍降低性能,来换取消息的可靠性。

阅读全文