【SpringCloud】入门简介篇

一、面试题

1. springCloud 和 dubbo 有什么区别?
2. 两个负载均衡,如何选择?(Ribbon和Feign)
3. 什么是服务雪崩,服务扇出,服务降级?

二、微服务概述

1. 什么是微服务?

【SpringCloud】入门简介篇_第1张图片

1.)马丁. 福勒(微服务的提出者)这么说:https://martinfowler.com/articles/microservices.html
微服务架构风格[1]是一种将单个应用程序拆分为一组小型服务的方法(通常按照业务拆),每个小型服务都在自己的进程中运行,并与轻量级机制(通常是HTTP RESTful API)进行通信。这些服务围绕业务功能构建,可通过全自动部署机制独立部署。这些服务至少集中管理,可以用不同的编程语言编写,并使用不同的数据存储技术。

2. 微服务和微服务架构?

1.)微服务:
具体解决某个问题/任务/功能,可以狭隘的看作开发工具里的一个 module。

2.)微服务架构:
微服务架构是一种架构模式。它将单一程序划分成小的服务,服务之间相互协调、相互配合。每个服务运行在其独立的进程中,服务和服务质检采用轻量级的通信机制相互协作(通常基于HTTP协议的RestFul API)。另外,尽量避免统一的、集中式的服务管理机制。

3.微服务的优缺点?

1.)优点:
(1)高内聚,代码容易聚焦一个指定的业务功能;(2)开发简单、开发效率高;(3)松耦合;(4)代码阶段和部署阶段都是独立的;跨语言;(5)允许灵活的自动部署,持续集成。(6)前后端分离开发。(7)每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一的数据库。

2.)缺点:
(1)运维人员难度加大。(2)开发人员需要处理分布式系统的复杂性。(3)系统部署的依赖性。(4)通信超时。(5)数据的一致性。

4.微服务技术栈有哪些?

微服务条目 落地技术
服务开发 SpringBoot、Spring、SpringMVC
服务配置和管理 Netfilex 的 Archaius、阿里的 Diamond
服务注册与发现 Eureka、Consul、Zookeeper 等
服务调用 Rest、RPC、gPRC(谷歌)
服务熔断器 Hystrix、Envoy 等
负载均衡 Ribbon、Nigix 等
服务接口调用(客户端调用服务简化工具) Feign 等
消息队列 KafKa、ActiveMQ、ActiveMQ 等
服务配置中心管理 SpringCloudConfig、Chef等
服务路由(API网关) Zuul等
服务监控 Zabbix、Nagios、Metrics、Spectator等
全链路追踪 Zipkin,Brave、Dapper等
服务部署 Docker、OpenStack、Kubernetes等
数据流操作开发包 SpringCloud Stream(封装与Redis,Rabbit、Kafka等发送接收消息)
事件消息总线 Spring Cloud Bus

5.为什么选择SpringCloud?

1.)选型依据。
调试a.整体解决方案和框架成熟度。
调试b.社区热度.
调试c.可维护性。
调试d.学习曲线。

2.)当前用的微服务架构有哪些。
调试a.阿里Dubbo/HSF。
调试空Gdubbo:2012年解散,17年重新启用,这五年内springCloud站起来了
调试空GHSF:HignSpeed FrameWork 江湖人称:好舒服
调试d.京东的JSF。
调试c.新浪微博的Motan。(江湖人称:茅台)
调试d.当当网的DubboX。(当当网被海航集团收购)

三、SpringCloud入门概述。

1.SpringCloud是什么?

给开发者的一套简单易懂,易部署和易维护的分布式系统开发工具包。微服务思想落地的解决方案的集合体(一套带走)。

springCloud的版本号,用的英国伦敦的地铁站的名字。

2.Dubbo和SpringCloud的对比。

1.活跃度对比。
dubbo 活跃度传送门
springCloud 活跃度传送门

2.技术栈对比。

Dubbo SpringCloud
服务注册中心 Zookeeper Spring Cloud Netflix Eureka
服务调用方式 RPC Rest API
服务监控 Dubbo-monitor SpringBoot Admin
断路器 Spring Cloud Hystrix
服务网关 Spring Cloud zuul
分布式配置 Spring Cloud config
服务跟踪 Spring Cloud Sleuth
消息总线 Spring Cloud Bus
数据流 Spring Cloud Stream
批量任务 Spring Cloud Task

3.SpringCloud参考资料。
调试a.官网:http://projects.spring.io/spring-cloud/
调试b.中文版模块文档:https://springcloud.cc/spring-cloud-netfix.html
调试c.开发API说明:http://cloud.spring.io/spring-cloud-static/Dalston.SR1/
调试空格KGL中文版:https://springcloud.cc/spring-cloud-dalston.html
调试d.springCloud的中文社区:http://springcloud.cn/
调试TSKGLspringCloud中文网:https://springcloud.cc/

四、版本对比。

SpringBoot springCloud
springboot 1.2.x Angel
springboot 1.3.x Brixton
springboot 1.4.x Camden
springboot 1.5.x Dalston 和 Edgware
springboot 2.0.x Finchley
springboot 2.1.x Greenwich

你可能感兴趣的:(框架,后端)