微服务HOT?Why?
微服务什么?
微服务解决了什么问题?
微服务有什么特点?
单体架构是什么
一个归档包包含了应用所有功能的应用程序, 我们通常称之为单体应用。
架构单体应用的架构风格, 我们称之为单体架构, 这是一种比较传统的架构风格。
单体架构存在的缺点
复杂性逐渐变高
技术债务逐渐上升
部署速度逐渐变慢
阻碍技术创新
无法按需伸缩
架构的演进
单体架构
SOA
微服务
什么是微服务
Martin Fowler:简而言之,微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的。其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这样轻量的机制来相互通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据存储技术。对这些微服务我们仅做最低限度的集中管理。
微服务具备的特性
1. 每个微服务可独立运行在自己的进程里;
2. 一系列独立运行的微服务共同构建起了整个系统;
3. 每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理、用户管理等;
4. 微服务之间通过一些轻量的通信机制进行通信,例如通过REST API或者RPC的方式进行调用。
微服务优点
易于开发和维护
启动较快
局部修改容易部署
技术栈不受限
按需伸缩
DevOps
微服务带来的挑战
运维要求较高
分布式的复杂性
接口调整成本高
重复劳动
微服务设计原则
单一职责原则
服务自治原则
轻量级通信原则
接口明确原则
微服务开发框架浅谈
Spring Cloud:http://projects.spring.io/spring-cloud
Dubbo:http://dubbo.io
Dropwizard:http://www.dropwizard.io
Consl、etcd &etc.
课程目标:
Spring Cloud实战微服务。国内第一个Spring Cloud视频教程!
适用人群:
对分布式系统有一定了解的Java开发人员、想要了解并实战微服务架构的人群
课程简介:
随着互联网的迅速发展,传统架构已经无法满足我们持续集成、持续交付的需求。在这种现状下,诞生了微服务。
微服务是当前架构领域的热门话题。笔者有幸参与了全球微服务架构高峰论坛。Spring Cloud是一个微服务架构的工具集,它为我们实现了微服务架构中的各种通用模式,让微服务的开发更加方便、快捷,让微服务应用更加稳定、可用。
课程目录:
1-1公开课01:27:43
1-21.1 微服务架构概述18:40
第2章开始使用Spring Cloud实战微服务13分钟1节
2-1开始使用Spring Cloud实战微服务13:46
第3章服务提供者与服务消费者42分钟1节
3-1服务提供者与服务消费者42:02
第4章服务发现与服务注册6小时11分钟14节
4-14.1 服务发现与服务注册07:49
4-24.2 Eureka简介与Eureka Server39:12
4-34.3 将微服务注册到Eureka Server上40:15
4-44.4 Ribbon-1 Ribbon的基本使用14:45
4-54.5 Ribbon-2 通过代码自定义配置Ribbon37:15
4-64.6 Ribbon-3 使用配置文件自定义Ribbon Client15:27
4-74.7 Ribbon-4 Ribbon脱离Eureka使用11:21
4-84.8 Feign-1 Feign的简介及基础使用33:22
4-94.9 Feign-2 覆写Feign的默认配置17:15
4-104.10 Feign-3 覆写Feign的默认配置续21:59
4-114.11 Feign-4 解决Feign第一次请求timeout的问题12:24
4-124.12 Eureka深入理解53:59
4-134.13 Eureka常用配置详解30:43
4-144.14 Eureka、Ribbon、Feign常见问题及解决35:36
第5章使用Hystrix保护应用3小时28分钟10节
5-15.1 超时机制、断路器模式简介11:09
5-25.2 Hystrix简介及简单代码示例28:23
5-35.3 Hystrix传播Security Context或使用Spring Scope16:03
5-45.4 Hystrix Health Indicator及Metrics Stream09:39
5-55.5 Feign的Hystrix支持16:05
5-65.6 如何禁用单个FeignClient的Hystrix支持11:13
5-75.7 Feign使用fallbackFactory属性打印fallback异常21:56
5-85.8 Hystrix Dashboard的使用与常用问题总结21:08
5-95.9 Turbine-上53:30
5-105.9 Turbine-下19:14
第6章使用Zuul构建API Gateway2小时58分钟13节
6-16.1 API Gateway简介07:00
6-26.2 Zuul简介及代码示例29:24
6-36.3 Zuul指定path+serviceid05:53
6-46.4 Zuul指定path+url以及指定可用的服务节点时如何负载均衡09:34
6-56.5 Zuul使用正则表达式指定路由规则09:45
6-66.6 Zuul路由的strip-prefix与order09:38
6-76.7 Zuul的各种姿势11:44
6-86.8 通过Zuul上传文件、禁用Zuul的Filters23:03
6-96.9 Zuul的回退19:59
6-106.10 使用Sidecar支持异构平台的微服务24:27
6-116.10 Sidecar补充05:08
6-126.11-1 Zuul过滤器19:39
6-136.11-2 禁用Zuul的过滤器02:54
第7章Spring Cloud Config4小时9分钟12节
7-17.1 Spring Cloud Config简介10:17
7-27.2 编写Config Server23:08
7-37.3 编写Config Client22:31
7-47.4 Git仓库配置详解41:57
7-57.5 配置属性加解密之对称加密22:08
7-67.6 配置属性加解密之非对称加密11:42
7-77.7 Spring Cloud Config的安全(用户认证)10:10
7-87.8 Spring Cloud Config与Eureka配合使用26:43
7-97.9 Spring Cloud Config配置属性刷新之手动刷新15:25
7-107.10 Spring Cloud Config配置属性刷新之自动刷新53:24
7-117.11 Spring Cloud Config配置属性刷新之自动刷新-补充05:08
7-127.12 Config Server的高可用06:27
下载地址;百度网盘