BENJAMIN BLOG

一些总结和心得

设计模式 笔记 | 第一篇

简单工厂

介绍 什么是简单工厂:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 应用场景 假如应用系统需要支持多种登录方式如:口令认证、域认证(口令认证通常是去数据库中验证用户,而域认证则是需要到微软的域中验证用户)。那么自然的做法就是建立一个各种登录方式都适用的接口,如下图所示: ...

SpringCloud 笔记 | 第四篇

熔断器

介绍 服务可以相互调用了,但是我们没法保证每个服务在所有时间都能正常运行,一旦某个服务出现异常, 将会影响整个调用链上的其他服务,造成雪崩效应,这与我们之前提到微服务舱壁的优势是相悖的, 今天我们就来看看,SpringCloud如何缓解服务雪崩的问题 熔断器(CircuitBreaker) 熔断器的原理很简单,如同电力过载保护器。它可以实现快速失败,如果它在一段时间内侦测到许多类似的错...

SpringBoot 笔记 | 第四篇

rabbitmq

介绍 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式的系统中,消息队列也会被用在很多其它的方面,比如:分布式事务的支持,RPC的调用等等。...

SpringCloud 笔记 | 第三篇

服务的注册和调用

前两篇我们介绍了注册中心eureka如何搭建以及它的高可用是如何实现的,接下来介绍一下如何使用eureka服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例。 案例中有三个角色:服务注册中心、服务提供者、服务调用者,其中服务注册中心就是eureka,流程是首先启动注册中心,服务提供者生产服务并注册到服务中心中,调用者从服务中心中获取服务并执行。 服务提供者 服务提供...

SpringCloud 笔记 | 第二篇

高可用的注册中心

Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和 Service Discovery实现。也是SpringCloud体系中最重要最核心的组件之一。 先按照上一篇的指南建立好工程 集群 注册中心这么关键的服务,如果是单点话,遇到故障就是毁灭性的。在一个分布式系统中,服务注册中心是最重要的基础部分,理应随时处于可以提...

SpringBoot 笔记 | 第三篇

多数据源

上一篇我们搭建了一个可以在生产环境使用的整合好mybatis的框架,应该可以应付大多数的需求了。但是有时候比较复杂的业务需要访问多个库,或者主从分离的情况下需要做读写分离,一个方案使用数据库中间件类似mycat这样的,但是又要搭建一个中间件系统太复杂了,如果只是简单的使用,我建议使用如下的办法。 配置文件 pom配置和上一篇一样: 主要变化在properties部分,需要将两个数据源的m...

编码总结 | 第一篇

怎么写一个好的Controller

业务发开中,其实大部分的代码用的技术都不是很深,大部分呢都是基本的CRUD的开发,但是很矛盾的是为什么大家还是苦逼的加班,熬夜。一方面工作不复杂,一方面却累成狗,问题到底出在哪里,时间都花到哪里去了? 其实大部分人的大部分时间都是在 定位问题 + 改代码,真正开发的时间并不多。定位问题包括开发转测试的时候发现问题和上线后发现问题,改代码的包括改bug和因为需求变动修改代码。 ...

SpringBoot 笔记 | 第二篇

在生产环境优雅的使用springboot-mybatis

上一篇写了最简单的方式来进行springboot与mybatis的整合,算是一个脚手架方便我们自己按自己的需要增加其他的组件来提高效率,在真正项目中像之前这样虽然简单但是还是太费劲了,我们今天来看看如何集成一些工具用简单优雅的配置方式提高项目中的生产力 需求 首先还是要配置简单 使用连接池来提高执行效率 提供通用的单表增删改查的实现(不需要再单独开发了) 提供通用的翻页...

SpringCloud 笔记 | 第一篇

简单的注册中心

Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和 Service Discovery实现。也是SpringCloud体系中最重要最核心的组件之一。 创建一个eureka server 创建一个maven项目 或者通过start.spring.io来自动创建: pom.xml 配置关键信息如下: <p...

SpringBoot 笔记 | 第一篇

优雅的使用springboot-mybatis

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 为了准备sp...