WebLogic Server 技术概述与架构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– –
动态调整以适应加入和退出集群的服务器 可作为受防火墙保护的 DMZ 的优质候选方案
第 15 页 | 甲骨文公司 2013 | 请勿传阅
JMS 集群
集群级 JNDI、RMI 路由、JMS 路由
• 使用 RMI 集群进行 JMS 引导
– –
连接工厂是无状态 RMI 桩 连接是已固定的 RMI 桩
第 31 页 | 甲骨文公司 2013 | 请勿传阅
10.3.6 和 12c 中的 Active GridLink for RAC
超强性能和透明的故障切换
• 配置更加简单:单个数据源 • 使用基于事件的模型 (ONS 和 FAN) 实现自适应池管理 • SCAN 支持 • 快速连接故障切换 • 运行时连接负载平衡 • 通过亲和性实现连接路由(XA、会话、 数据) • WebLogic 连接标签、连接采集 • Data Guard 支持 • RAC One Node 支持
• 提高通信的可靠性
– 在域、集群和服务器之间转发 – 保留消息排序
•
利用消息桥改善连接
– 对于 WLS-WLS 连接,SAF 速度更
快且更具可扩展性 – 可集群化
第 22 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic JMS 存储和转发
WebLogic 高可用性 JMS
• •
在 WebLogic Server 9.x 或更高版本的域之间转发 JMS 或 WSRM 消息时, 应采用 SAF 服务 SAF 服务支持:
• 高可用性共享存储(如 SAN)
• 网络时间协议 (NTP)
–
WebLogic 主机必须保持时间同步
第 30 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
双数据中心
• 可实现“扩展集群”,不过存在一些限制
– – – –
多播心跳消息在 VLAN 中很容易丢失 生存时间到期和超时 需要最大限度减少服务器之间的常规网络延迟 为了确保同步 SAN 复制,供应商可能会对距离跨度有一些物理限制
存储服务
身份服务
第 5 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 域架构
WebLogic 域架构
概述
负载平衡器
负载平衡器
域 服务器
管理服务器
托管服务器 集群
节点管理器
第 7 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 域架构
针对域的单一管理服务器
Http 路由和会话复制
• HTTP 会话感知路由
–
依赖于负载平衡器的“粘性路由”
• 会话复制
– –
内存中复制
备选方案:JDBC、文件系统、基于 cookie
第 14 页 | 甲骨文公司 2013 | 请勿传阅
包含 Web 服务器层的 HTTP 集群
Http 路由和会话复制
• Web 服务器插件的优势:
• 多播更具可扩展性
– 需要一个支持 UDP 多播的网络 – 需要更多路由器和进一步的 WLS 配置才能在跨子网的集群中使用
第 12 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 集群
基本集群特性
• 集群成员状态变更检测
– 每台服务器可维护各自的集群视图 – 服务器心跳 – 每台服务器每隔 10 秒发送一次 – 连续缺失 3 次心跳会从集群中删除该服务器,直到接收到下一次心跳 – 监视点对点套接字,以检测服务器死机
第 8 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 域架构
节点管理器
小型后台进程
• 启动/停止服务器 • 可终止/重启故障服务器
对于整个服务器迁移不可
或缺 Java 节点管理器,支持 最常用的 StartScriptEnabled=true 选项
• 依靠域启动脚本来启动服务器 • 所需配置较少
第 1 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic Server 技术概述与架构
Xiangguo.li@
第 2 页 | 甲骨文公司 2013 | 请勿传阅
云应用基础
云应用基础
产品
Traffic Director / Web 层 WebLogic Server Coherence Tuxedo
第 9 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 集群架构
WebLogic 集群
原则
• 同构地部署应用和服务
– 最大限度减少单例 — 每个服务均可随处提供
• 负载分配,而非负载平衡
– 可以处理多个服务请求
• 最大限度减少集群成员之间的交互
– 集群成员可通过运行状况监视了解其他成员的可用性
• 无内置、集群级缓存
– Oracle Coherence
• HTTP、SOAP Web 服务、REST、EJB、JNDI 和 JMS 客户端
– HTTP 和 SOAP 需要硬件负载平衡器或 Web 服务器代理 EJB/JNDI/JMS
第 11 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 集群
自动化整体服务器迁移
托管服务器 1
• 与故障切换相反,使用迁移自动恢复“单一”服务
– – – – – –
计算机 1
在另一台机器上重启故障服务器 需要转换为新机器的 IP 地址 对于维持 JMS 服务的事务完整性至关重要 JTA XA 事务、单例服务和作业调度程序均采用自动模式 11g 中引入的 JMS 支持自动化 在 10.3 版之前,必须对混合了 XA 的 JMS 采用整体服务器迁移
协议
• WebLogic Server 支持两种集群协议
– 多播 (WLS 4.0+) — 使用 UDP 多播 – 单播 (WLS 10.0+) — 使用 TCP
• 单播易于使用,因此是默认选项
– 几乎可在任何网络上立即使用 – 无需额外配置即可在跨子网的集群中使用 – 更易于诊断和排除网络级的 TCP 问题
• WLS 10 还针对一些服务提供了自动服务级迁移
托管服务器 2
计算机 2
第 28 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
自动服务器迁移流程
迁移 IP 地址和逻辑服务器
管理 服务器
托管 服务器 1
检测故障和 启动迁移
托管 服务器 2
托管 服务器 1
托管 服务器 3
计算机 0
2
1
MDB
消息被一位使用者接收,且组中各 消息之间无间隙
3
MDB
1
2
3
MDB
第 21 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic JMS 存储和转发
WebLogic 高可用性 JMS
• JMS 生产者使用本地 JNDI 引用检索远程
目的地
• 消息存储在本地服务器上,并在端点可用
时转发至远程服务器
第 0 页 | 甲骨文公司 2013 | 请勿传阅
免责声明
以下内容旨在概述产品的总体发展方向。该内容仅供参考,不可纳入 任何合同。本演示不承诺提供任何材料、代码或功能,也不应将其作 为购买决策的依据。此处所述有关 Oracle 产品的任何特性或功能的开 发、发布以及相应的日程安排均由 Oracle 自行决定。
• 迁移策略
在 WLS 9.0 之前,只有 OOTB 迁移采用手动方式。自动化需要昂贵的第三 方解决方案(例如,Veritas、Sun Cluster) – 目前有两种方案可供选择,各有利弊 – 服务级迁移 – 服务器级迁移
–
第 27 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
• 每个 JMS 队列或主题均位于单一服务器上
– – –
与托管 JMS 目的地的集群成员进行消息传递 位置对于客户端是透明的 可手动或自动将目的地迁移至其他集群成员
第 18 页 | 甲骨文公司 2013 | 请勿传阅
JMS 分布式目的地
JMS 路由
• 逻辑、集群级目的地
– – –
使用物理队列或主题进行实施 服务随处可用 配置非常简单
• JNDI 复制
– 添加到集群成员 JNDI 树中的对象会复制到所有服务器 – 如果托管该对象的服务器离开集群,则复制的 JNDI 绑定会从所有服务器中删除 – 可将特殊的集群感知对象(如 EJB)绑定至多个服务器上的同一位置
第 13 页 | 甲骨文公司 2013 | 请勿传阅
采用负载平衡器的 HTTP 集群
– – –
无单点故障 仅用于动态监视– –
MSI 模式(托管服务器独立性) 当管理服务器不可用时,使用逻辑缓存配置
• 可在另一台计算机上执行备份或“冷”备份
– –
在新计算机上手动重启管理服务器 无需迁移原有 IP 地址
第 25 页 | 甲骨文公司 2013 | 请勿传阅
私有云
部署选择
融合 CRM 融合 HCM 融合人才 社交网络
Virtual Assembly Builder
云应用基础
数据库服务 Java 服务 数据服务 安全服务
公有云
第 4 页 | 甲骨文公司 2013 | 请勿传阅
云应用基础
Java 云服务和即将推出的服务
开发人员服务
缓存服务
移动服务
消息服务
第 26 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
迁移
• 单一服务需要通过迁移来执行恢复
– – – –
运行中 XA 事务(事务日志) JMS 服务器(JMS 存储中的持久化 JMS 消息) 集群感知的单例和作业调度程序(通常无本地状态) 需要网络存储(SAN、双端口磁盘)
迁移过程中启动服务器 将浮动 IP 地址迁移至新的物理网络设备 挂载和卸载共享磁盘 支持从其他计算机访问 JMS 和 JTA 持久化存储 由于原子写入问题而无法使用 NFS 或 SMB/CIFS * 2010 的 8 月更新 — 有限的 NFS 支持和注意事项 — 仍然强烈建议使用 SAN
• Java 或 SSH 节点管理器
–
MDB 2
MDB 3
3
4
5
6
7
8
9
MDB 1
第 20 页 | 甲骨文公司 2013 | 请勿传阅
MDB 2
MDB 3
WebLogic JMS 工作单元
WebLogic JMS 创新
• • • •
通过组标识符对消息进行分组 只有组中的全部消息都到达目的地 后,消息才变为可用 消息将按 UOW 生成者的要求重新 排序,而与其到达顺序无关 生产者
节点 M
节点 M
节点 M
计算机 1
计算机 2
计算机 3
计算机 4
集群
当前 集群主数据
租赁 DB 表
第 29 页 | 甲骨文公司 2013 | 请勿传阅
存储区域网络 (SAN)
WebLogic 高可用性
服务器迁移需求
• 空闲容量
–
– – – – – –
现有服务器主机或冗余“闲置”硬件上拥有充足的额外 RAM 和 CPU
WebLogic 高可用性
集群服务
• “复制服务”同构部署至集群中的所有服务器,从而实现透明的
故障切换,并适时执行状态复制 • 在集群中的各服务器上运行“单一服务”,需要服务迁移
复制服务
• • • •
单一服务
• • • •
Web 应用 EJB JNDI 树 分布式 JMS 队列和主题
事务管理器(每台服务器均一个) 采用持久性队列/主题消息的 JMS 存储 应用程序单例服务 集群作业调度程序 (集群级计时器)
• 基本规则
– – –
使用者固定到队列 队列发送方通常会轮流分发负载 主题通过广播发送至各个服务器中的用户
• DD 是 WebLogic JMS 中不可或缺的一部分
第 19 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic JMS 顺序单元
WebLogic JMS 创新
状态 1
• • • • 消息 1 被 MDB 1 使用 其他 UOO Red 消息不可用 消息 2 被 MDB 2 使用 其他 UOO Blue 消息不可用
– – – –
在两个独立服务器实例之间传递消息。 在集群中的各服务器实例之间传递消息。 在域中的两个集群之间传递消息。 在不同域之间传递消息。
第 23 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
WebLogic 高可用性
管理服务器高可用性
• 并非集群的一部分 • 主机崩溃时不会自动执行故障切换
• 问题描述
–
1
2
3
4
5
6
7
8
9
一些应用要求严格地按顺序处理消息
MDB 1 状态 2
• • • • MDB 1 成功处理消息 1 下一条 UOO Red 消息变得可用 消息 3 被 MDB 3 使用 其他 UOO Red 消息不可用
• 此特性的工作原理
按顺序“处理”标记了相同顺序单 元 (UOO) 的消息 – 应用于整个集群:路由至 DD 成员 的消息 – 通过多个 UOO 实现并发性 – 减少或消除 DB 锁争用
动态调整以适应加入和退出集群的服务器 可作为受防火墙保护的 DMZ 的优质候选方案
第 15 页 | 甲骨文公司 2013 | 请勿传阅
JMS 集群
集群级 JNDI、RMI 路由、JMS 路由
• 使用 RMI 集群进行 JMS 引导
– –
连接工厂是无状态 RMI 桩 连接是已固定的 RMI 桩
第 31 页 | 甲骨文公司 2013 | 请勿传阅
10.3.6 和 12c 中的 Active GridLink for RAC
超强性能和透明的故障切换
• 配置更加简单:单个数据源 • 使用基于事件的模型 (ONS 和 FAN) 实现自适应池管理 • SCAN 支持 • 快速连接故障切换 • 运行时连接负载平衡 • 通过亲和性实现连接路由(XA、会话、 数据) • WebLogic 连接标签、连接采集 • Data Guard 支持 • RAC One Node 支持
• 提高通信的可靠性
– 在域、集群和服务器之间转发 – 保留消息排序
•
利用消息桥改善连接
– 对于 WLS-WLS 连接,SAF 速度更
快且更具可扩展性 – 可集群化
第 22 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic JMS 存储和转发
WebLogic 高可用性 JMS
• •
在 WebLogic Server 9.x 或更高版本的域之间转发 JMS 或 WSRM 消息时, 应采用 SAF 服务 SAF 服务支持:
• 高可用性共享存储(如 SAN)
• 网络时间协议 (NTP)
–
WebLogic 主机必须保持时间同步
第 30 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
双数据中心
• 可实现“扩展集群”,不过存在一些限制
– – – –
多播心跳消息在 VLAN 中很容易丢失 生存时间到期和超时 需要最大限度减少服务器之间的常规网络延迟 为了确保同步 SAN 复制,供应商可能会对距离跨度有一些物理限制
存储服务
身份服务
第 5 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 域架构
WebLogic 域架构
概述
负载平衡器
负载平衡器
域 服务器
管理服务器
托管服务器 集群
节点管理器
第 7 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 域架构
针对域的单一管理服务器
Http 路由和会话复制
• HTTP 会话感知路由
–
依赖于负载平衡器的“粘性路由”
• 会话复制
– –
内存中复制
备选方案:JDBC、文件系统、基于 cookie
第 14 页 | 甲骨文公司 2013 | 请勿传阅
包含 Web 服务器层的 HTTP 集群
Http 路由和会话复制
• Web 服务器插件的优势:
• 多播更具可扩展性
– 需要一个支持 UDP 多播的网络 – 需要更多路由器和进一步的 WLS 配置才能在跨子网的集群中使用
第 12 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 集群
基本集群特性
• 集群成员状态变更检测
– 每台服务器可维护各自的集群视图 – 服务器心跳 – 每台服务器每隔 10 秒发送一次 – 连续缺失 3 次心跳会从集群中删除该服务器,直到接收到下一次心跳 – 监视点对点套接字,以检测服务器死机
第 8 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 域架构
节点管理器
小型后台进程
• 启动/停止服务器 • 可终止/重启故障服务器
对于整个服务器迁移不可
或缺 Java 节点管理器,支持 最常用的 StartScriptEnabled=true 选项
• 依靠域启动脚本来启动服务器 • 所需配置较少
第 1 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic Server 技术概述与架构
Xiangguo.li@
第 2 页 | 甲骨文公司 2013 | 请勿传阅
云应用基础
云应用基础
产品
Traffic Director / Web 层 WebLogic Server Coherence Tuxedo
第 9 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 集群架构
WebLogic 集群
原则
• 同构地部署应用和服务
– 最大限度减少单例 — 每个服务均可随处提供
• 负载分配,而非负载平衡
– 可以处理多个服务请求
• 最大限度减少集群成员之间的交互
– 集群成员可通过运行状况监视了解其他成员的可用性
• 无内置、集群级缓存
– Oracle Coherence
• HTTP、SOAP Web 服务、REST、EJB、JNDI 和 JMS 客户端
– HTTP 和 SOAP 需要硬件负载平衡器或 Web 服务器代理 EJB/JNDI/JMS
第 11 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 集群
自动化整体服务器迁移
托管服务器 1
• 与故障切换相反,使用迁移自动恢复“单一”服务
– – – – – –
计算机 1
在另一台机器上重启故障服务器 需要转换为新机器的 IP 地址 对于维持 JMS 服务的事务完整性至关重要 JTA XA 事务、单例服务和作业调度程序均采用自动模式 11g 中引入的 JMS 支持自动化 在 10.3 版之前,必须对混合了 XA 的 JMS 采用整体服务器迁移
协议
• WebLogic Server 支持两种集群协议
– 多播 (WLS 4.0+) — 使用 UDP 多播 – 单播 (WLS 10.0+) — 使用 TCP
• 单播易于使用,因此是默认选项
– 几乎可在任何网络上立即使用 – 无需额外配置即可在跨子网的集群中使用 – 更易于诊断和排除网络级的 TCP 问题
• WLS 10 还针对一些服务提供了自动服务级迁移
托管服务器 2
计算机 2
第 28 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
自动服务器迁移流程
迁移 IP 地址和逻辑服务器
管理 服务器
托管 服务器 1
检测故障和 启动迁移
托管 服务器 2
托管 服务器 1
托管 服务器 3
计算机 0
2
1
MDB
消息被一位使用者接收,且组中各 消息之间无间隙
3
MDB
1
2
3
MDB
第 21 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic JMS 存储和转发
WebLogic 高可用性 JMS
• JMS 生产者使用本地 JNDI 引用检索远程
目的地
• 消息存储在本地服务器上,并在端点可用
时转发至远程服务器
第 0 页 | 甲骨文公司 2013 | 请勿传阅
免责声明
以下内容旨在概述产品的总体发展方向。该内容仅供参考,不可纳入 任何合同。本演示不承诺提供任何材料、代码或功能,也不应将其作 为购买决策的依据。此处所述有关 Oracle 产品的任何特性或功能的开 发、发布以及相应的日程安排均由 Oracle 自行决定。
• 迁移策略
在 WLS 9.0 之前,只有 OOTB 迁移采用手动方式。自动化需要昂贵的第三 方解决方案(例如,Veritas、Sun Cluster) – 目前有两种方案可供选择,各有利弊 – 服务级迁移 – 服务器级迁移
–
第 27 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
• 每个 JMS 队列或主题均位于单一服务器上
– – –
与托管 JMS 目的地的集群成员进行消息传递 位置对于客户端是透明的 可手动或自动将目的地迁移至其他集群成员
第 18 页 | 甲骨文公司 2013 | 请勿传阅
JMS 分布式目的地
JMS 路由
• 逻辑、集群级目的地
– – –
使用物理队列或主题进行实施 服务随处可用 配置非常简单
• JNDI 复制
– 添加到集群成员 JNDI 树中的对象会复制到所有服务器 – 如果托管该对象的服务器离开集群,则复制的 JNDI 绑定会从所有服务器中删除 – 可将特殊的集群感知对象(如 EJB)绑定至多个服务器上的同一位置
第 13 页 | 甲骨文公司 2013 | 请勿传阅
采用负载平衡器的 HTTP 集群
– – –
无单点故障 仅用于动态监视– –
MSI 模式(托管服务器独立性) 当管理服务器不可用时,使用逻辑缓存配置
• 可在另一台计算机上执行备份或“冷”备份
– –
在新计算机上手动重启管理服务器 无需迁移原有 IP 地址
第 25 页 | 甲骨文公司 2013 | 请勿传阅
私有云
部署选择
融合 CRM 融合 HCM 融合人才 社交网络
Virtual Assembly Builder
云应用基础
数据库服务 Java 服务 数据服务 安全服务
公有云
第 4 页 | 甲骨文公司 2013 | 请勿传阅
云应用基础
Java 云服务和即将推出的服务
开发人员服务
缓存服务
移动服务
消息服务
第 26 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
迁移
• 单一服务需要通过迁移来执行恢复
– – – –
运行中 XA 事务(事务日志) JMS 服务器(JMS 存储中的持久化 JMS 消息) 集群感知的单例和作业调度程序(通常无本地状态) 需要网络存储(SAN、双端口磁盘)
迁移过程中启动服务器 将浮动 IP 地址迁移至新的物理网络设备 挂载和卸载共享磁盘 支持从其他计算机访问 JMS 和 JTA 持久化存储 由于原子写入问题而无法使用 NFS 或 SMB/CIFS * 2010 的 8 月更新 — 有限的 NFS 支持和注意事项 — 仍然强烈建议使用 SAN
• Java 或 SSH 节点管理器
–
MDB 2
MDB 3
3
4
5
6
7
8
9
MDB 1
第 20 页 | 甲骨文公司 2013 | 请勿传阅
MDB 2
MDB 3
WebLogic JMS 工作单元
WebLogic JMS 创新
• • • •
通过组标识符对消息进行分组 只有组中的全部消息都到达目的地 后,消息才变为可用 消息将按 UOW 生成者的要求重新 排序,而与其到达顺序无关 生产者
节点 M
节点 M
节点 M
计算机 1
计算机 2
计算机 3
计算机 4
集群
当前 集群主数据
租赁 DB 表
第 29 页 | 甲骨文公司 2013 | 请勿传阅
存储区域网络 (SAN)
WebLogic 高可用性
服务器迁移需求
• 空闲容量
–
– – – – – –
现有服务器主机或冗余“闲置”硬件上拥有充足的额外 RAM 和 CPU
WebLogic 高可用性
集群服务
• “复制服务”同构部署至集群中的所有服务器,从而实现透明的
故障切换,并适时执行状态复制 • 在集群中的各服务器上运行“单一服务”,需要服务迁移
复制服务
• • • •
单一服务
• • • •
Web 应用 EJB JNDI 树 分布式 JMS 队列和主题
事务管理器(每台服务器均一个) 采用持久性队列/主题消息的 JMS 存储 应用程序单例服务 集群作业调度程序 (集群级计时器)
• 基本规则
– – –
使用者固定到队列 队列发送方通常会轮流分发负载 主题通过广播发送至各个服务器中的用户
• DD 是 WebLogic JMS 中不可或缺的一部分
第 19 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic JMS 顺序单元
WebLogic JMS 创新
状态 1
• • • • 消息 1 被 MDB 1 使用 其他 UOO Red 消息不可用 消息 2 被 MDB 2 使用 其他 UOO Blue 消息不可用
– – – –
在两个独立服务器实例之间传递消息。 在集群中的各服务器实例之间传递消息。 在域中的两个集群之间传递消息。 在不同域之间传递消息。
第 23 页 | 甲骨文公司 2013 | 请勿传阅
WebLogic 高可用性
WebLogic 高可用性
管理服务器高可用性
• 并非集群的一部分 • 主机崩溃时不会自动执行故障切换
• 问题描述
–
1
2
3
4
5
6
7
8
9
一些应用要求严格地按顺序处理消息
MDB 1 状态 2
• • • • MDB 1 成功处理消息 1 下一条 UOO Red 消息变得可用 消息 3 被 MDB 3 使用 其他 UOO Red 消息不可用
• 此特性的工作原理
按顺序“处理”标记了相同顺序单 元 (UOO) 的消息 – 应用于整个集群:路由至 DD 成员 的消息 – 通过多个 UOO 实现并发性 – 减少或消除 DB 锁争用