SpringCloudAlibaba史上最全电⼦书(阿⾥云学习中⼼整理)
《Spring Cloud Alibaba》2020
本电⼦书内容来源于每特教育在阿⾥云学习中⼼上架课程《精通Spring Cloud Alibaba》,主讲⼈:余胜军,由开发者社区志愿者黄良诗、李美儒进⾏整理
史上最全SpringCloudAlibaba视频教程 百度云(含视频和⽂档)
链接:pan.baidu/s/1OHX3B2Q97gn1K6wfZsURLw
密码:00yk
SpringCloudAlibaba史上最全电⼦书(阿⾥云学习中⼼整理)电⼦书(只包含⽂档不包含视频)
链接:pan.baidu/s/1uQc9-Bs7ArOqCz-_KnNc1g
提取码:n14n
Spring Cloud Alibaba课程说明
Spring Cloud Alibaba由每特教育|蚂蚁课堂出品
该课程主要讲解Spring Cloud Alibaba核⼼组件 Nacos(服务注册与发现和分布式配置中⼼)、Sentinel(服务保护框架)、Seata(分布式事务解决框架)、阿⾥云OSS、Alibaba Cloud SchedulerX等。
注意事项:该课程需要有⼀定的SpringBoot基础知识,如果对SpringBoot不了解的话、可以在蚂蚁课堂中学习SpringBoot基础内容。微服务架构演变过程
传统单体架构——分布式架构——SOA⾯向服务架构——微服务架构模式
传统架构
传统的架构,也就是为单点应⽤,也就是⼤家在早期所学习的JavaEE知识SSH或者SSM架构模式,会采⽤分层架构模式:数据库访问层、业务逻辑层、控制层,从前端到后台所有的代码都是⼀个开发者去完成。
该架构模式没有对我们业务逻辑代码实现拆分,所有的代码都写⼊到同⼀个⼯程中⾥⾯,适合于⼩公司开发团队或者个⼈开发。
ler---springmvc 视图层 jsp/ftl
com.mayikt.service---业务逻辑层
com.mayikt.dao---数据库访问层
将项⽬的代码都放⼊到同⼀个项⽬,部署在同⼀个Tomat中。
该架构模式存在哪些优缺点:
优点:开发简单、运维简单
缺点:该架构模式没有对我们的业务逻辑实现拆分,所有的代码都写⼊到同⼀个项⽬中,
只适合⼩团队或者个⼈形式开发,不适合团队模式协同⼯作开发
这种架构模式最⼤的缺点,如果该系统⼀个模块出现不可⽤、会导致整个系统⽆法使⽤。
应⽤场景:政府项⽬、管理系统、crm、oa适合于个⼈⼩团队开发。
分布式架构
分布式架构模式是基于传统的架构模式演变过来,将传统的单点项⽬根据业务模块实现拆分、会拆分为会员系统、订单系统、⽀付系统、秒杀系统等。 从⽽降低我们项⽬的耦合度,这种架构模式开始慢慢的适合于互联⽹公司开发团队。
如果项⽬团队⼈数较多需要进⾏项⽬拆分。需要把单体项⽬不同的系统。⼤型公司和⼤型开发团队多⽤这种团队开发的模式。
不同的系统如何连成⼀块呢?需要通过域名跳转。
springcloud难学吗会员系统:memner.mayikt
⽀付系统pay.mayikt
命名系统化:包含服务和视图层
SOA⾯向服务架构
不同系统间的会话是如何进⾏绑定的呢?需要⽤到SSO单点登⼊系统。
SOA架构模式也称作为:⾯向服务架构模式、俗称⾯向与接⼝开发,将共同存在的业务逻辑抽取成⼀个共同的服务,提供给其他的服务接⼝实现调⽤、服务与服务之间通讯采⽤rpc远程调⽤技术。
通过SSO系统能解决代码冗余的问题。
服务:只是有接⼝ 没有控制层 没有视图层
com.mayikt.service
com.mayikt.dao
这种模式叫作SOA⾯向业务逻辑的开发。
SOA架构模式特点:
1. SOA架构通讯中,采⽤XML⽅式实现通讯、在⾼并发下通讯过程中协议存在⾮常⼤冗余性,所以在最后微服务架构模式中使⽤JSON
格式替代了XML。
2. SOA架构模式实现⽅案为Web Service或者是ESB企业服务总线 底层通讯协议SOAP协议(Http+XML)实现传输。
传统政府、银⾏项⽬还是保留的在使⽤Web Service
互联⽹公司肯定采⽤http+json形式实现运输
基于IDEA快速构建Web Service
Web Service服务器端
@WebService
public class UserService {
@WebMethod
public String getUser(Long id) {
return "mayikt⽤户:" + id
;
}
public static void main(String[] args) {
Endpoint.publish("192.168.18.218:8089/service/UserService", new UserService());
System.out.println("服务发布成功");
}
}
获取wsdl
wsdl⽂件描述接⼝的调⽤地址 服务的接⼝ ⽅法 参数等。
Web Service客户端
public class WebServiceClient {
public static void main(String[] args) throws ServiceException, RemoteException {
UserServiceServiceLocator userServiceServiceLocator = new UserServiceServiceLocator();
UserService userService = UserServicePort();
String result = User(10L);
System.out.println("result:" + result);
}
}
微服务架构
微服务架构产⽣的原因
微服务架构基于SOA架构演变过来的
在传统的Web Service架构中有如下问题:
1. 依赖中⼼化服务发现机制
2. 使⽤Soap通讯协议,通常使⽤XML格式来序列化通讯数据,xml格式⾮常喜欢重,⽐较占宽带传输。
3. 服务化管理和治理设施不完善
微服务架构模式
SOA架构模式存在哪些缺点:
1、采⽤SOAP协议实现通讯,xml传输⾮常重,效率⽐较低。
2、服务化管理和治理设施不够完善
3、依赖与中⼼服务发现机制
4、不适合于前后分离架构模式
前端分离技术就是对我们控制层和业务层逻辑实现区分,
前端控制可以采⽤vue调⽤我们后端接⼝(http+json)
微服务架构基本概念
微服务架构模式是从SOA架构模式演变过来, ⽐SOA架构模式粒度更加精细,让专业的⼈去做专业的事情(专注),⽬的是提⾼效率,每个服务与服务之间互不影响,微服务架构中
每个服务必须独⽴部署、互不影响,微服务架构模式体现轻巧、轻量级、适合于互联⽹公司开发模式。
微服务架构倡导应⽤程序设计程多个独⽴、可配置、可运⾏和可微服务的⼦服务。
服务与服务通讯协议采⽤Http协议,使⽤restful风格API形式来进⾏通讯,数据交换格式轻量级json格式通讯,整个传输过程中,采⽤⼆进制,所以http协议可以跨语⾔平台,并且可以和其他不同的语⾔进⾏相互的通讯,所以很多开放平台都采⽤http协议接⼝。
微服务架构与SOA架构的不同
1.微服务架构基于 SOA架构 演变过来,继承 SOA架构的优点,在微服务架构中去除 SOA 架构中的 ESB 企业服务总线,采⽤
http+json(restful)进⾏传输。
2.微服务架构⽐ SOA 架构粒度会更加精细,让专业的⼈去做专业的事情(专注),⽬的提⾼效率,每个服务于服务之间互不影响,微服务架构中,每个服务必须独⽴部署,微服务架构更加轻巧,轻量级。
3.SOA 架构中可能数据库存储会发⽣共享,微服务强调独每个服务都是单独数据库,保证每个服务于服务之间互不影响。
4.项⽬体现特征微服务架构⽐ SOA 架构更加适合与互联⽹公司敏捷开发、快速迭代版本,因为粒度⾮常精细。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论