SpringCloud概念

SpringCloud概念

微服务概述

服务
  • 为别人做事情,满足别人需要
  • 在代码中我们写一段代码,提供一个接口供别人使用服务。

集群&分布式概述

单机结构
  • 一个系统业务量很小的时候,代码全放在一个项目中。然后项目部署在一个服务器上,就是单机结构。
  • 缺点:就一台服务器处理能力有限,当访问量大量增加时。单机就不够用了
集群结构
  • 简述:将多份相同的代码,部署在不同的服务器上。这些服务器构成在一起,就是一个集群。

  • 当单机结构 处理达到瓶颈的时候。就打单机代码复制几份,就构成一个“集群”。 集群中每台服务器就叫做 这个集群中的 一个 “节点”。

  • 每个几点提供相同的服务,这样系统的处理能力就提升好几倍。

  • 负载均衡服务器会根据当前所有节点的负载情况,再决定将请求交给 负载比较小的节点进行处理。

分布式结构
  • 简述:分布式将一个完整的系统,按照业务功能,拆分成多个独立的子系统,每个子系统被称为“服务”,服务之间通过RPC通信

  • 举个例子,假设需要开发一个在线商城。按照微服务的思想,我们需要按照功能模块拆分成多个独立的服务,如:用户服务、产品服务、订单服务、后台管理服务、数据分析服务等等。这一个个服务都是一个个独立的项目,可以独立运行。如果服务之间有依赖关系,那么通过RPC方式调用。

  • 好处:

    • 系统之间的耦合度大大降低,可以独立开发、开发效率大大提升。
    • 系统更易于扩展。
    • 服务的复用性更高。

图片解释

在这里插入图片描述


高可用

  • 高可用:强调服务的可用性,就算非常极端的情况下,也可以稳定的提供服务。

  • 集群 是实现高可用的必须方式

分布式,集群,负载均衡的关系

  • 分布式:将一个大服务拆分成N个小服务,每个小服务都是独立的,开发独立,部署独立

  • 集群:将同一项目代码部署在N台服务器上

  • 负载均衡:将N多请求分摊在各个服务器上; 如果集群,必然要负载均衡;如果负载均衡,必须要集群

  • 集群至少需要3台服务器,即是挂了一台,剩下两台还能继续集群


微服务

  • 概述: 将一个完整的系统,按照业务功能,拆分成多个独立的子系统,每个子系统被称为“服务”

  • 微服务与分布式的架构 基本相同。 区别在于部署。

    • 微服务可以能部署在一台服务器上
    • 分布式是部署在多台服务器上
    • 微服务是架构设计方式,分布式是系统部署方式

微服务特点:

  1. 单一职业:微服务中每一个服务都对应唯一的业务能力,做到单一职责
  2. 微:微服务的服务拆分粒度很小,例如一个用户管理就可以作为一个服务。每个服务虽小,但“五脏俱全”。
  3. 独立:自治是说服务间互相独立,互不干扰
    1. 团队独立:每个服务都是一个独立的开发团队,人数不能过多。
    2. 技术独立:因为是面向服务,提供Rest接口,使用什么技术没有别人干涉
    3. 前后端分离:采用前后端分离开发,提供统一Rest接口,后端不用再为PC、移动端开发不同接口
    4. 数据库分离:每个服务都使用自己的数据源
    5. 部署独立,服务间虽然有调用,但要做到服务重启不影响其它服务。有利于持续集成和持续交付。每个服务都是独立的组件,可复用,可替换,降低耦合,易维护 Docker部署服务

SpringCloud

  • 微服务是一种架构方式,需要技术架构去实施。
  • SpringCloud是一种用来 架构微服务思想的 技术工具

简述

版本

  • SpringCloud的版本命名比较特殊,因为它不是一个组件,而是许多组件的集合,它的命名是以A到Z的为首字母的一些单词组成:
  • SpringCloud的版本需要与Springboot的版本进行对应,不然会出现问题

YAML语法

  • application.yaml文件为替换 properties格式文件的
  • 进行各项配置,全称 yet another markup language 另一种标记语言

书写格式

  1. 大小写敏感

  2. 使用缩进表示层级关系

  3. 禁止使用tab缩进,只能使用空格键

  4. 缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级

  5. 使用#表示注释

  6. 字符串可以不用引号标注

     # 配置端口号,和四大金刚
     server:
       port: 10100
     spring:
       datasource:
         url: jdbc:mysql://localhost:3306/vue_2019-12-5
         username: root
         password: root
         driverClassName: com.mysql.jdbc.Driver
    

打开RunDashBoard窗口

  • 在idea中展示所有服务的启动类

  • 在Project项目中,找到.idea的目录下的workspace

  • 打开文件,查找RunDashBoard

  • 将一下代码copy到标签中

      <option name="configurationTypes">
        <set>
          <option value="SpringBootApplicationConfigurationType" />
        </set>
      </option>
    

nfigurationTypes">



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值