SpringCloud学习笔记-20201130

pringMVC+spring/springBoot+mybatis+maven+git
springcloud大概21种技术
cloud技术的五大神兽:eureka服务注册与发现、ribbon(feign)负载均衡、hystrix断路器、zuul路由网关、springCloud config分布式配置中心
1.从面试题开始
什么是微服务?
微服务之间如何独立通讯?
springcloud与dubbo有哪些区别?dubbo是RPC cloud是http的restful
springboot与springcloud,谈谈理解
什么是服务熔断?什么是服务降级?
微服务的优缺点?谈谈在项目开发中的坑
你所知道的微服务技术栈有哪些?
eureka与zookeeper都可以提供服务注册与发现的功能,说说区别?
2.微服务概述
是什么 马丁福勒2014年提出 microServices 提倡将单一应用程序划分为小的服务,每个服务运行在自己的进程中,服务间互相协调配合
服务之间采用轻量级的通信机制 彻底去耦合,每个微服务干一件事 独立的数据库
单机版—》分布式
微服务与微服务架构
微服务 强调的是服务的大小(个体),关注的是某一个点,eclipse工具里用maven开发的一个个独立的moudle,它具体是使用springboot开发的一 个小模块,专业的事情交给专业模块劳作,一个模块就做着一件事情
微服务架构 是一种架构模式 强调整体
中华民族由56个民族构成
微服务优缺点
优点:每个服务足够内聚足够小,按业务拆分的易于理解代码
开发简单、开发效率提高
松耦合
可使用不同语言开发
易于与第三方集成
只是业务逻辑代码,不会与html等界面组件混合
可以灵活搭配,连接公共库+独立库
缺点:复杂、运维成本增加、系统部署依赖、服务间通信成本、数据一致性
微服务技术栈
多种技术的集合体
服务开发(springboot、spring、springmvc)、
服务配置与管理(netflix的Archaius、阿里的Diamond)、
服务发现与注册(eureka、consul、zookeeper)、
服务调用(rest、rpc、grpc)、
服务负载均衡(ribbon、nginx)、
服务接口调用(feign)、服务路由(zuul)、服务熔断器(hystrix、envoy)、
服务监控(Zabbix)、消息队列(kafka、rabbitMQ、activeMQ、rocketMQ)、
配置中心管理(springCloudConfig、Chef)、服务部署(Docker、OpenStack、kubernetes)、
数据流操作开发包(SpringCloud stream)、事件消息总线(SpringCloud Bus)、全链路追踪(Zipkin、Brave、Dapper)
dubbo+zookeeper+nginx+。。 杂牌子
springcloud 整合 类似小米科技公司
为什么选择springcloud做微服务架构
选型依据:整体解决方案和框架成熟度、社区热度、可维护性、学习曲线
当前IT公司的微服务架构:阿里dubbo/HSF、京东JSF、新浪微博Motan、当当网DubboX
各微服务框架对比:功能定位、支持Rest、支持RPC、支持多语言、服务注册/发现、负载均衡、配置服务
springcloud是自产自销 完整的微服务架构 dubbo睡了五年

3.springcloud入门概述
是什么?官网 spring.io、基于springboot提供一套微服务解决方案,包括xxxxx等组件
springcloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶
springcloud与springboot的关系:
科室与医院的关系,springcloud依赖于springboot
springboot偏微观个体,springcloud偏宏观整体
dubbo是怎么到springcloud的?优缺点
目前成熟的互联网架构(分布式+服务治理dubbo)
活跃度 https://github.com/dubbo https://github.com/spring-cloud
对比:服务注册中心(zookeeper、eureka)
服务调用方式(rpc、http的rest api)
服务监控(dubbo-monitor、spring boot admin)
断路器(不完善、hystrix)、分布式配置(无、Config)、批量任务(无、Task)
服务网关(无、zuul)、服务跟踪(无、Sleuth)、消息总线(无、Bus)、数据流(无、Stream)
dubbo就像组装电脑、springCloud就像品牌机;dubbo是rpc框架、springcloud是分布式微服务架构下的一站式解决方案
dubbo重启的主要负责人 阿里的刘军
能干嘛?
去哪下?官网:projects.spring.io/spring-cloud 参考书:springcloud.cc/spring-cloud-netflix.html springcloud.cc
cloud.spring.io/spring-cloud-static/Dalston.SR1
springcloud.cc/spring-cloud-dalston.html
怎么玩?各个组件
springcloud国内使用情况:国内公司(联通、华为、猪八戒、广发银行) 阿里云

4.rest微服务构建案例工程模块
总体介绍:springmvc+mybatis+mysql的基础知识 maven分包分模块
maven GAV坐标引用
—app-parent --app-util --app-dao --app-service --app-web
命令:clean install package
springcloud版本:Dalston.SR1 boot版本:1.5.9.RELEASE

实体类
@NoArgsConstructor 无参构造
//@AllArgsConstructor 所有参数构造
@Data get’set方法
@Accessors(chain=true) 链式
public class Dept implements Serializable// entity --orm— db_table
{
private Long deptno; // 主键
private String dname; // 部门名称
private String db_source;// 来自那个数据库,因为微服务架构可以一个服务对应一个数据库,同一个信息被存储到不同数据库

public Dept(String dname)
{
	super();
	this.dname = dname;
}

}

org.projectlombok lombok

若lombok的注解不生效:以下为解决方式:

https://blog.csdn.net/qq_35868412/article/details/93137304
或者:https://blog.csdn.net/mrs_chens/article/details/103084712

你可能感兴趣的:(java高级,java,spring,cloud,分布式)