关于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学习 什么是微服务(一)的更多相关文章

  1. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

  2. SpringCloud学习(一):微服务简介

    一.前情概要 1.单体架构是什么 1).一个归档包包含了应用所有功能的应用程序, 我们通常称之为单体应用. 2).架构单体应用的架构风格, 我们称之为单体架构, 这是一种比较传统的架构风格. 2.单体 ...

  3. SpringCloud学习系列-Rest微服务构建

    总体介绍 承接着我们的springmvc+mybatis+mysql初级高级课程,以Dept部门模块做一个微服务通用案例Consumer消费者(Client)通过REST调用Provider提供者(S ...

  4. SpringCloud学习(2)——Rest微服务案例

    创建父工程: microservicecloud  创建公共模块api:microservicecloudapi SQL脚本: 此学习路线总共创建3个库, 分别为clouddb01, clouddb0 ...

  5. Spring boot学习1 构建微服务:Spring boot 入门篇

    Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...

  6. SpringCloud实战 | 第五篇:SpringCloud整合OpenFeign实现微服务之间的调用

    一. 前言 微服务实战系列是基于开源微服务项目 有来商城youlai-mall 版本升级为背景来开展的,本篇则是讲述SpringCloud整合OpenFeign实现微服务之间的相互调用,有兴趣的朋友可 ...

  7. springCloud学习4(Zuul服务路由)

    镇博图 springcloud 总集:https://www.tapme.top/blog/detail/2019-02-28-11-33 本篇中 Zuul 版本为 1.x,目前最新的是 2.x,二者 ...

  8. SpringCloud(1)---基于RestTemplate微服务项目案例

    基于RestTemplate微服务项目 在写SpringCloud搭建微服务之前,我想先搭建一个不通过springcloud只通过SpringBoot和Mybatis进行模块之间额通讯.然后在此基础上 ...

  9. SpringCloud(8)微服务监控Spring Boot Admin

    1.简介 Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件.Spring Boot Admin 分为 Server 端和 Client 端,Spring ...

随机推荐

  1. Makefile精髓篇【转】

    什么是makefile?或许非常多Winodws的程序猿都不知道这个东西,由于那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序猿,makefile还是 ...

  2. CentOS7阿里云服务器,python程序requests无法正常post网站(报502)

    问题描述: 使用jenkins构建接口自动化测试时,发现新增加的接口case不能访问通,会报502错误(本地可以跑通,在测试服就会502)解决的思路: 缩小调试范围(去掉jenkins db环境,将问 ...

  3. Jenkins里jobs和workspace什么区别

    https://segmentfault.com/q/1010000012575095/a-1020000012590560 简单的说,job 中保存的是项目是在 jenkins 上的配置.日志.构建 ...

  4. 新手入门学习angular.js的心得体会

    看了一天的angular.js,只要记住这是关于双向数据绑定 和单向数据绑定就可以,看看开发文档,短时间内还是可以直接入手的,看个人理解能力(我是小白). 这几天开始着手学习angularjs的有关知 ...

  5. 如何反向遍历List集合

    List接口中提供了ListIterator<E> listIterator()这样的一个方法,可以获得一个ListIterator接口的实例,如下: 看一下他的方法: 了解了这些之后再看 ...

  6. TCP/IP UDP 协议首部及数据进入协议栈封装的过程

    数据的封装 UDP 封装 TCP 封装 IP 封装 检验和算法 当应用程序用TCP传送数据时,数据被传送入协议栈中,然后逐一通过每一层直到被当作一串比特流送入网络 注: UDP数据TCP数据基本一致. ...

  7. webstorm+nodejs环境中安装淘宝镜像

    用过nodejs的人都知道,从node的官方模板库下载依赖包的时候,经常会遇到“假死”(页面静止不动)的状态,这种速度简直要逼死焦急地等待下班的人.还好咱们万能的淘宝提供了淘宝镜像这么一个不要更好用的 ...

  8. java常见知识

    在JSP页面获取当前项目名称的方法: 方法1: <%= this.getServletContext().getContextPath() %> 方法2: 使用EL表达式 ${pageCo ...

  9. 【codeforces 509B】Painting Pebbles

    [题目链接]:http://codeforces.com/contest/509/problem/B [题意] 给n鹅卵石染色; 有k种颜色可供选择; 问你有没有染色方案; 使得各个堆的鹅卵石里面,第 ...

  10. [poj1363]Rails_模拟_栈

    Rails poj-1363 题目大意:判断一个序列是否是1~n的合法出栈序列. 注释:$1\le n\le 10^4$. 想法:开始想到一种想法. 对于一段序列来讲,显然从首元素开始的连续小于尾元素 ...