Live My Life

淡而无味也是一种味道

[Spring Cloud Netflix] 5 Ribbon 创建服务消费者

创建服务消费者(Ribbon)

概述 在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于 http restful 的。Spring cloud 有两种服务调用方式,一种是 ribbon + restTemplate,另一种是 feign。在这一篇文章首先讲解下基于 ribbon + rest。 Ribbon 简介 Ribbon 是一个负载均衡客户端,可以很好的控制 http 和 tcp 的一些行为。......

[Spring Cloud Netflix] 4 Service 创建服务提供者

创建服务提供者

概述 当 Client 向 Server 注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka Server 从每个 Client 实例接收心跳消息。 如果心跳超时,则通常将该实例从注册 Server 中删除。 创建服务提供者 POM 123456789101112131415161718192021222324252627282930313233343536373839......

[Spring Cloud Netflix] 3 Eureka 服务注册与发现

服务注册与发现

概述 在这里,我们需要用的组件是 Spring Cloud Netflix 的 Eureka,Eureka 是一个服务注册和发现模块 创建服务注册中心 其 pom.xml 文件配置如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748<?xml version......

[Spring Cloud Netflix] 2 Dependencies 创建统一的依赖管理

统一的依赖管理

概述 Spring Cloud 项目都是基于 Spring Boot 进行开发,并且都是使用 Maven 做项目管理工具。在实际开发中,我们一般都会创建一个依赖管理项目作为 Maven 的 Parent 项目使用,这样做可以极大的方便我们对 Jar 包版本的统一管理。 创建依赖管理项目 创建一个工程名为 hello-spring-cloud-dependencies 的项目,pom.xml ......

[Spring Cloud Netflix] 1 Spring Cloud Netflix 简介

分布式框架

目前市场上主流的套微服务架构解决方案: Spring Boot + Spring Cloud Netflix = Java 原生云开发 Spring Boot + Dubbo + Zookeeper 概述 Spring Cloud 是一个相对比较新的微服务框架,2016 才推出 1.0 的 Release 版本. 但是其更新特别快,几乎每 1-2 个月就有一次更新,虽然 Spring......

[Microservices] 3 微服务架构设计模式

Microservices are a modern approach to software whereby application code is delivered in small, manageable pieces, independent of others...

微服务架构需要考虑的问题 API Gateway 服务间调用 服务发现 服务容错 服务部署 数据调用 六种常见的微服务架构设计模式: 聚合器微服务设计模式 这是一种最常见也最简单的设计模式: 聚合器调用多个服务实现应用程序所需的功能。它可以是一个简单的 WEB 页面,将检索到的数据进行处理展示。它也可以是一个更高层次的组合微服务,对检索到的数据增加业务逻辑后进一步发布成一个新的微服务......

[Microservices] 4 微服务的实践

Their small scale and relative isolation can lead to many additional benefits, such as easier maintenance, improved productivity, greater fault tolerance, better business alignment, and more...

概述 要实际的应用微服务,需要解决以下问题: 客户端如何访问这些服务 每个服务之间如何通信 如此多的服务,如何实现? 服务挂了,如何解决?(备份方案,应急处理机制) 客户端如何访问这些服务 原来的 Monolithic 方式开发,所有的服务都是本地的,UI 可以直接调用,现在按功能拆分成独立的服务,跑在独立的一般都在独立的虚拟机上的 Java 进程了。客户端 UI 如何访问他? 后台有 ......

[Microservices] 2 微服务的特征

Microservices are a modern approach to software whereby application code is delivered in small, manageable pieces, independent of others...

特征 官方的定义 一系列的独立的服务共同组成系统 单独部署,跑在自己的进程中 每个服务为独立的业务开发 分布式管理 非常强调隔离性 大概的标准 分布式服务组成的系统 按照业务,而不是技术来划分组织 做有生命的产品而不是项目 强服务个体和弱通信( Smart endpoints and dumb pipes ) 自动化运维( DevOps ) 高度容错性 快速演化和迭代 SOA 和微服......

[Microservices] 1 浅谈微服务

Microservices are a modern approach to software whereby application code is delivered in small, manageable pieces, independent of others...

微服务架构的概念 微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。 概念 把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。 定义 围绕业务领域组件来创建应用,这些应用可独立地进行开......

[PageHelper] Mybatis 分页插件 PageHelper

Mybatis 分页插件 PageHelper

在实际的项目开发中,常常需要使用到分页,分页方式分为两种:前端分页和后端分页。 前端分页 一次 ajax 请求数据的所有记录,然后在前端缓存并且计算 count 和分页逻辑,一般前端组件(例如 dataTable)会提供分页动作。 特点是:简单,很适合小规模的 web 平台;当数据量大的时候会产生性能问题,在查询和网络传输的时间会很长。 后端分页 在 ajax 请求中指定页码 pageNum......