当前位置: 首页 > news >正文

企业网站建设怎么做服装企业网站建设现状

企业网站建设怎么做,服装企业网站建设现状,成都公司注册价格,世界最新新闻微服务(2) 文章目录 微服务(2)1. 服务拆分原则2. 服务拆分示例1.2.1 导入demo工程1.2.2 导入Sql语句 3. 实现远程调用案例1.3.1 案例需求:1.3.2 注册RestTemplate1.3.3 实现远程调用1.3.4 查看效果 4. 提供者与消费者 …

微服务(2)

在这里插入图片描述

文章目录

  • 微服务(2)
    • 1. 服务拆分原则
    • 2. 服务拆分示例
        • 1.2.1 导入demo工程
        • 1.2.2 导入Sql语句
    • 3. 实现远程调用案例
        • 1.3.1 案例需求:
        • 1.3.2 注册RestTemplate
        • 1.3.3 实现远程调用
        • 1.3.4 查看效果
    • 4. 提供者与消费者

微服务(2)

本文将正式进入微服务框架SpringCloud和SpringCloudAlibaba的学习了,他们的工作就是微服务治理

任何分布式架构都离不开服务的拆分,微服务也是一样

1. 服务拆分原则

服务拆分就是单个模块拆成多个模块,不过模块必须具有一定的独立性,这里我总结了微服务拆分时的几个原则:

  • 不同微服务, 不要重复开发相同业务
  • 微服务数据独立, 不要访问其它微服务的数据库
  • 微服务可以 将自己的业务暴露为接口,供其它微服务调用

在这里插入图片描述

2. 服务拆分示例

以本链接的项目示例:资源/cloud-demo · 游离态/云服务 - 码云 - 开源中国 (gitee.com)

这么一个简单的微服务cloud-demo为例,其结构如下:

在这里插入图片描述

cloud-demo:父工程,管理依赖

  • order-service:订单微服务,负责订单相关业务
  • user-service:用户微服务,负责用户相关业务

这样模拟出微服务的效果,满足以下要求:

  • 订单微服务和用户微服务都必须有各自的数据库,相互独立
  • 订单服务和用户服务都对外暴露Restful的接口
  • 订单服务如果需要查询用户信息,只能调用用户服务的Restful接口,不能查询用户数据库

网络资料:

在这里插入图片描述

1.2.1 导入demo工程

项目结构如下:

在这里插入图片描述

多个应用/多个微服务运行的界面设置(这样可以更好的观察和操作)

在这里插入图片描述

添加运行的类型:

  • 添加application、maven、springboot即可(这里没有springboot也没关系)

在这里插入图片描述

等待pom.xml加载完毕,项目可以尝试启动:

  • 打开控制台的services选项

在这里插入图片描述

选中父目录,ctrl shift f10运行(这是默认的,如果你改了就是你改的运行快捷键,或者点绿色小三角),就是运行全部服务,如果选中对应的微服务运行就是运行对应的微服务~

在这里插入图片描述

同理,快捷键ctrl f2停止运行

在这里插入图片描述

1.2.2 导入Sql语句

在这里插入图片描述

cloud-user表中初始数据如下:

在这里插入图片描述

cloud-order表中初始数据如下:

在这里插入图片描述

cloud-order表中持有cloud-user表中的id字段。

在这里插入图片描述

  • 数据独立 -> 各自有独立的数据库!

(注意改yml文件的数据库连接配置哦!)

3. 实现远程调用案例

(重启两个微服务)

在order-service服务中,有一个根据id查询订单的接口:

在这里插入图片描述

根据id查询订单,返回值是Order对象,如图:

  • 其中的user为null

在这里插入图片描述

在user-service中有一个根据id查询用户的接口:

在这里插入图片描述

查询的结果如图:

在这里插入图片描述

端口与订单服务不一样哦,解耦合~

1.3.1 案例需求:

order-service中的根据id查询订单业务:

  • 要求在查询订单的同时,根据订单中包含的userId查询出用户信息,一起返回

在这里插入图片描述

我们通过查询到的订单信息的用户id,想要查询用户信息(在这里不会重复开发用户模块的功能,并且订单模块不能直接查询用户模块的数据库),就要访问用户服务暴露的接口

我们需要在order-service中 向user-service发起一个http的请求,调http://localhost:8081/user/{userId}这个接口。

大概的步骤是这样的:

  • 注册一个RestTemplate的实例到Spring容器(存储Bean对象)
  • 修改order-service服务中的OrderService类中的queryOrderById方法,根据Order对象中的userId查询User
  • 将查询的User填充到Order对象,一起返回

在这里插入图片描述

而这是我们未曾尝试过的,但是我们会有这个想法(就像浏览器js的ajax发送http请求一样),事实上在SpringCloud框架中就是支持这种 “后端给后端发http请求” 的!

  • 这就是一个服务到另一个服务的远程调用(我们这里两个微服务挨在一起,实际上的微服务之间可能相隔千里哦)
1.3.2 注册RestTemplate

首先,我们在order-service服务中的OrderApplication启动类中,注册RestTemplate实例:

  • RestTemplate这个类就是SpringCloud提供给我们发送http请求滴

在这里插入图片描述

1.3.3 实现远程调用

修改order-service服务中的cn.itcast.order.service包下的OrderService类中的queryOrderById方法:

在这里插入图片描述

1.3.4 查看效果

重启微服务,浏览器访问订单服务:

在这里插入图片描述

4. 提供者与消费者

在服务调用关系中,会有两个不同的角色:

服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)

服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)

在这里插入图片描述

但是,服务提供者与服务消费者的角色并不是绝对的,而是相对于业务而言。

如果服务A调用了服务B,而服务B又调用了服务C,服务B的角色是什么?

那么这个身份是 相对而言 的~

  • 对于A调用B的业务而言:A是服务消费者,B是服务提供者
  • 对于B调用C的业务而言:B是服务消费者,C是服务提供者

因此,在不同的业务下,服务B既可以是服务提供者,也可以是服务消费者


文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

代码:cloud-demo · 游离态/云服务 - 码云 - 开源中国 (gitee.com)


http://www.yayakq.cn/news/121098/

相关文章:

  • 东莞微联建站厦门公司黄页
  • 朝阳住房和城乡建设厅网站久久建筑网免费下载
  • 莲湖微网站建设自己怎么弄网站
  • wordpress 多站点 插件云南网站设计公司
  • 网站怎么做值班表计算机培训班
  • 百色住房和城乡建设部网站展厅施工公司
  • 百度网站建设哪家公司好logo在线设计生成器免费下载
  • 淘宝导购网站模板网站编辑 教程
  • seo公司优化排名东莞seo建站优化费用
  • o2o网站建设行业现状中英文网站前端怎么做
  • 网站开发询价表模板下载建设工程有限公司资质
  • 静态网站模板古典简约型网站建设
  • 简单企业网站源码 asp.net 公司介绍 产品展示树形菜单的网站代码
  • 别人帮做的网站怎么修改顺德技术支持 骏域网站建设专家
  • 学校网站建设新闻自己做网站 需要哪些
  • 要做一个网站得怎么做试剂网站建设
  • 网站介绍经过下拉怎么做做网站 淘宝
  • 做酱菜网站重点建设学科网站
  • 网站排名优化软件有哪些1g内存做网站
  • 织梦怎么用框架实现在浏览器的地址栏只显示网站的域名而不显示出文件名建设银行理财产品网站
  • 拉趣网站是谁做的wordpress发布文章页面错误
  • 微信网站什么做网站是先解析后备案
  • 吉安高端网站建设公司外贸网站镜像
  • 深圳做网站排名哪家好如何安装wordpress ftp
  • 金山专业网站建设网站建设乙方义务
  • 网站服务器租用4t多少钱一年啊知乎网站建设费属于无形资产吗
  • 阿里巴巴国际站网站做销售方案客户关系管理的定义
  • 手机网站建设最新报价2345网址导航主页
  • 网站基础建设网站估价
  • 渭南建设用地规划查询网站华为网站建站