Dubbo框架 SOA-RPC思

1.用户数据校验
1.1构建JT_SSO
1.1.1创建项目
在这里插入图片描述
1.1.2编辑POM.xml文件
在这里插入图片描述
1.1.3 编辑User pojo文件
1)表设计
在这里插入图片描述
2)编辑User POJO
在jt-common中添加pojo对象
在这里插入图片描述
1.1.4编辑JT_SSO项目
通过http://sso.jt.com/findAll访问
1).代码结构
在这里插入图片描述
1.1.5 编辑nginx配置文件
在这里插入图片描述
1.1.6 代码测试
在这里插入图片描述
1.2 用户数据校验实现
1.2.1 页面分析

说明: 当用户输入用户名时,校验用户是否存在. 发起跨域请求.
在这里插入图片描述
1.2.2 页面JS
1).检索JS
在这里插入图片描述
2).页面JS
在这里插入图片描述
1.2.3 接口文档分析
在这里插入图片描述
1.2.4 编辑JT-SSO UserController
在这里插入图片描述
1.2.5 编辑JT-SSO UserService
在这里插入图片描述
1.3 全局异常处理
1.3.1 编辑页面JS

在这里插入图片描述
1.3.2 编辑全局异常处理
在这里插入图片描述
2 HttpClient方式
2.1 关于跨域说明

一般的情况下 采用跨域一般处理一些简单的数据.对于安全性要求不是特别的高. 并且业务相对简单.如果有需求对安全性及业务要求严格,则使用跨域的方式则不能满足用户的需求.则应该采用HttpClient(微服务底层实现)方式实现远程数据访问.

2.2 HttpClient介绍
HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议

HTTP 协议是 Internet 上使用得最多、最重要的协议之一,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。Commons HttpClient项目现已终止,不再开发。 它已被Apache HttpComponents项目里的HttpClient和HttpCore模块取代,它们提供了更好的性能和更大的灵活性。

在这里插入图片描述
2.3 HttpClient入门
2.3.1 导入jar包

在这里插入图片描述
2.3.2 编辑入门案例
在这里插入图片描述
2.4 SOA
2.4.1 SOA介绍

面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

2.4.2 RPC(思想)
RPC是远程过程调用(Remote Procedure Call)的缩写形式。
问题1: 什么是本地过程调用
不需要经过第三方,自己调用方法实行功能.
问题2: 什么是远程过程调用
自己需要完成一项业务,但是由于诸多原因 自己不能直接调用,则通过第三方访问的业务调用称之为RPC.(代理)
总结:
1.解决分布式系统中,服务之间的调用问题。
2.远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑(代理)。

3 Dubbo框架
3.1 官网介绍

Apache Dubbo |ˈdʌbəʊ| 提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维。

在这里插入图片描述
3.2 微服务调用核心机制
3.2.1 现阶段架构设计问题

在这里插入图片描述
3.2.2 服务自动注册/发现
在这里插入图片描述
步骤:
1.当生产者启动时,会将服务信息(服务名称/服务IP:PORT) 写入到注册中心.
2.注册中心会动态维护服务列表.定期刷新.
3.消费者启动时链接注册中心.获取最新的服务列表数据,之后缓存到本地方便下次调用.
4.当用户开始访问消费者时,消费者查询本地的服务列表进行负载均衡,访问其中一个生产者获取数据.
5.注册中心通过心跳检测机制,访问生产者,当生产者宕机,则第一时间更新自己的服务列表,并且全网广播.通知所有的消费者更新列表数据.

3.3 Zookeeper注册中心安装
具体看QQ微云相册
3.4 关于集群知识点说明
3.4.1 为什么集群最小单位3台

集群正常工作的公式: 存活的节点数量 > N/2
讨论: 1个节点 1-1 > 1/2 不满足 1个节点不能搭建集群
2个节点 2-1 > 2/2 不满足 2个节点不能搭建集群
3个节点 3-1 > 3/2 满足 3个节点是搭建集群最小单位

3.4.2 为什么集群一般都是奇数台
从容灾性的角度考虑问题:
3台服务器 3-1 > 3/2 宕机1台集群可以工作
4台服务器 4-1 > 4/2 宕机1台集群可以工作

说明: 由于奇数和偶数容灾性一样的,所以搭建奇数台更加合理.

3.5 ZK选举规则
说明: 1.myid的最大值优先.
2.超半数同意 当选主机.

案例1: 依次启动zk1,zk2,zk3 3台服务器.
案例2: 依次启动zk1-zk7
1).谁当主机? 4
2).谁永远当选不了主机 1 2 3

3.6 导入Dubbo入门案例
3.6.1 修改版本号

在这里插入图片描述
3.6.2 修改依赖项
在这里插入图片描述
3.6.3 导入项目
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值