SpringCloud学习 什么是微服务(一)
关于SpringCloud,我是看了周老师的《SpringCloud与Docker微服务架构实战》之后才有了一点了解,做下记录,以供后期学习。本人知识有限,如有不对,欢迎批评
1.什么是单体应用,单体应用的特点
相信大家自接触开发以来,在开发过程中我们多人开发,都是分模块开发,一人负责一个模块,但是最终打包的时候无论你分了多少模块都是打成了一个war包,所有的模块、功能都被包含在这个war包中。这样的应用称为:单体应用
1.1单体应用的问题
很多项目都是从单体应用开始的,单体应用部署简单,在项目初期不会出现什么问题,但是随着后期需求的增加变更,迭代次数的增多,开发人员的变更,系统中代码混乱,冗余代码成堆,但是还不敢随意修改,随着时间的推移,维护成本越来越高。
在系统运行方面,可能一个功能模块的Bug最终会导致整个项目的崩溃,在这种种情况下,微服务的出现似乎就能很大程度上的解决目前面临的问题
2.什么是微服务
鉴于单体应用所遇到的问题,微服务所应具备的功能应该就是把之前的单体应用的拆分,一个模块一个服务(应用),服务之间通过轻量级通信机制来通信(数据交流),每个模块一个服务或者更加细化的分成不同的服务,不同的服务之间可以用不同的语言进行开发
微服务有哪些特点:
(1) 每个微服务运行在自己的进程中
(2)多个微服务构建出一个系统
(3)每个微服务是独立的开发,只关注于某个特定模块活功能
(4)微服务之间通过轻量级通信通信来交流
(5)不同服务可以使用不同的语言开发
3.SpringCloud
我对于SpringCloud的理解其实就是分布式架构,对于微服务我们都知道用SpringBoot,那么分布式呢,对于分布式,目前比较流行的有阿里的Dubbo和Spring社区的SpringCloud springCloud就是一个比较全面地解决分布式中问题的东西
至于说springcloud项目,我的理解就是客户端只与网关进行交流,而微服务只与网关进行交流,这样我们的客户端就不用访问不同微服务,减轻了客户端的复杂性。总之就是多个微服务为网关提供数据接口,客户端通过网关来获取数据,网关在我目前的理解中就是一个中间层的,来整合所有微服务的数据接口最后统一为客户端提供
本来想写一下SpringCloud 结果全写成废话了,我都不知道自己写的是什么鬼
SpringCloud学习 什么是微服务(一)的更多相关文章
- SpringCloud学习(二):微服务入门实战项目搭建
一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...
- SpringCloud学习(一):微服务简介
一.前情概要 1.单体架构是什么 1).一个归档包包含了应用所有功能的应用程序, 我们通常称之为单体应用. 2).架构单体应用的架构风格, 我们称之为单体架构, 这是一种比较传统的架构风格. 2.单体 ...
- SpringCloud学习系列-Rest微服务构建
总体介绍 承接着我们的springmvc+mybatis+mysql初级高级课程,以Dept部门模块做一个微服务通用案例Consumer消费者(Client)通过REST调用Provider提供者(S ...
- SpringCloud学习(2)——Rest微服务案例
创建父工程: microservicecloud 创建公共模块api:microservicecloudapi SQL脚本: 此学习路线总共创建3个库, 分别为clouddb01, clouddb0 ...
- Spring boot学习1 构建微服务:Spring boot 入门篇
Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...
- SpringCloud实战 | 第五篇:SpringCloud整合OpenFeign实现微服务之间的调用
一. 前言 微服务实战系列是基于开源微服务项目 有来商城youlai-mall 版本升级为背景来开展的,本篇则是讲述SpringCloud整合OpenFeign实现微服务之间的相互调用,有兴趣的朋友可 ...
- springCloud学习4(Zuul服务路由)
镇博图 springcloud 总集:https://www.tapme.top/blog/detail/2019-02-28-11-33 本篇中 Zuul 版本为 1.x,目前最新的是 2.x,二者 ...
- SpringCloud(1)---基于RestTemplate微服务项目案例
基于RestTemplate微服务项目 在写SpringCloud搭建微服务之前,我想先搭建一个不通过springcloud只通过SpringBoot和Mybatis进行模块之间额通讯.然后在此基础上 ...
- SpringCloud(8)微服务监控Spring Boot Admin
1.简介 Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件.Spring Boot Admin 分为 Server 端和 Client 端,Spring ...
随机推荐
- Web 服务器与应用服务器的区别是什么?
不太严谨的说法:web服务器就是负责接收用户的Request,然后响应html等给客户浏览器.应用服务器处理一些业务逻辑等. 作者:luo链接:https://www.zhihu.com/questi ...
- On branch master nothing to commit, working tree clean ERROR: Repository not found. fatal: Could not read from remote repository.
将gitbash部署hexo到github:hexo deploy 报以下错误: Administrator@liu MINGW64 /Hexo $ hexo d INFO Deploying: gi ...
- Java中File对象的常用方法
创建: 1.createNewFile()指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false. 2.mkdir() 在指定位置创建一个单级文件夹. 3.mkdirs() ...
- 浅谈jQuery宽高及其应用
[前言] 今天讲了讲jQuery各种元素宽高的获取和设置,下面简单总结下,希望对各位小伙伴有所帮助 [主体] 补充知识点: (1)width()返回结果无单位,css("width" ...
- 最适合初学者的Linux运维学习教程2018版
Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...
- Fiddler构造请求
Fiddler工具是一个http协议调试代理工具,它可以帮助程序员测试或调试程序,辅助web开发. Fiddler工具可以发送向服务端发送特定的HTTP请求以及接受服务器回应的请求和数据,是web调试 ...
- APIshop精选接口助力双十一电商业务
距离2018年双11的购物盛典已经不到一个月了,各大电商之间的战役已经悄然打响,今年的双11仍会是一场电商鏖战,想必又会打破2017年双11近2540亿的全网成交总额记录. 据统计,去年双11全天共产 ...
- js的StringBuffer类
function StringBuffer(str){ var arr = []; str = str || ""; arr.push(str); this.append = fu ...
- / Vijos / 题库 / 1622 / 文件查找(HOI)
/ Vijos / 题库 /1622/文件查找(HOI) 描述 WINDOWS是一个很庞大的操作系统(当然啦,看占的硬盘空间就知道了),比如说,它的文件查找系统.现在,请你用PASCAL或者C或者C+ ...
- 【LeetCode Weekly Contest 26 Q1】Longest Uncommon Subsequence I
[题目链接]:https://leetcode.com/contest/leetcode-weekly-contest-26/problems/longest-uncommon-subsequence ...