- Nagios安装部署全攻略
weixin_34109408
memcachedphp操作系统
概述:公司的生产机器一共有12台,2台LVS(主备)、2台nginx、2台tomcat、1台后台服务器(nginx_tomcat)、3台mysql(主+备+异地灾备)、1台图片服务器、2台memcached.可以看出网站的架构就是基于高可用的原理的,每个层面都做了主备、系统的PV不高,对于并发布,高性能没有那么苛求,对于系统安全、稳定有较高要求,前期已经对系统做了各种日志分析,WAF配置,漏洞扫面
- 高可用系统有哪些设计原则
没有女朋友的程序员
架构师架构
1.降级主动降级:开关推送被动降级:超时降级异常降级失败率熔断保护多级降级2.限流nginx的limit模块gatewayredis+Lua业务层限流本地限流gua分布式限流sentinel3.弹性计算弹性伸缩—K8S+docker主链路压力过大的时候可以将非主链路的机器给主链路的应用用上4.流量切换多机房环境:DNS端域名切换入口Clien端流量调度虚IPHaProxyLVS负载均衡应用层Ngi
- centos7挂载nas存储_CentOS7搭建NAS文件共享存储
weixin_39612023
centos7挂载nas存储
概述:NFS是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发。通过NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。NFS得到了如NAS等网络存储的设备极好支持。也是LVS共享存储的首选。环境:CentOS7.8x64一、安装服务端安装nfs-utils、rcpbind软件包;yum-yinstallnfs-utilsrpcbind二、通过nfs协议配置nas1
- 局部变量和全局变量
陆小果不会写代码
算法c语言
局部变量和全局变量的介绍局部变量和全局变量其实更加准确点应该叫做内部变量和外部变量(在数据段内(变量也在))(Localvs.globalvariables)内部变量和外部变量重名(编译器不报错)内部变量的i出现在栈空间内而不在数据段中进而无法改变全局表变量的值(全局变量访问数据段中的内容)在C语言中,变量的作用域可以分为内部变量和外部变量,具体取决于变量的声明位置和可见范围。内部变量(局部变量)
- LVS与nginx结合使用,更强的负载均衡
中年程序员一枚
运维环境经典专栏lvsnginx负载均衡
目录目录LVSLVS组成LVS技术术语LVS的调度算法环境准备显示网络DR(192.168.102.29)配置RS1(192.168.101.134)配置RS2(192.168.101.139)配置客户端测试nginx配置下载安装包安装步骤离线安装在线安装
- lvs负载均衡面试题
大白的小棉袄
面试nginxlinux负载均衡运维
lvs负载均衡面试题可惜我不是圣人2019-10-0918:29:301192收藏19版权lvs负载均衡1.lvs原理LVS通过工作于内核的ipvs模块来实现功能,其主要工作于netfilter的INPUT链上。而用户需要对ipvs进行操作配置则需要使用ipvsadm这个工具。ipvsadm主要用于设置lvs模型、调度方式以及指定后端主机。2.lvs有哪几种模式,工作过程原理是什么?DR模式(直接
- VSCode连接远程服务器问题---持续更新中
程序小吴
开发工具vscode
VSCode连接远程服务器问题vscodecouldnotestablishconnectionto“sshname”TheVSCodeServerfailedtostart原因:服务器用户空间不足本机与服务器密钥不匹配vscode与服务器glibc版本不匹配解决方案:方法一点击vscode左上角的view点击commandpalette输入remote-ssh点击Killvscodeserver
- 【PyTorch Ligntning】快速上手简明指南
何处闻韶
【PyTorchLightning】
目录一、简介二、安装PyTorchLightning三、定义LightningModule3.1SYSTEMVSMODEL3.2FORWARDvsTRAINING_STEP三、配置LightningTrainer四、基本特性4.1Manualvsautomaticoptimization4.1.1自动优化(Automaticoptimization)4.1.1手动优化(Manualoptimiza
- Unity MonoBehaviour 生成dll
牙膏上的小苏打2333
Unityunitydll
dllllllllllllllvs创建类库项目添加UnityEngine、UnityEditor引用添加MonoBehaviour类设置dll生成路径生成dll使用dll中的Mono类vs创建类库项目添加UnityEngine、UnityEditor引用右键引用,添加引用找到unity安装目录下的:\Editor\Data\Managed添加MonoBehaviour类usingUnityEngi
- VScode写LaTeX配置,实测有效
BO_S__
vscodepdfide
环境配置请看LaTeX环境配置-TexLive,实测有效http://t.csdnimg.cn/0txlLVScode写LaTeX配置0.smatrapdf下载如果使用外部pdf查看器,比如我用的sumatrapdf,官网是SumatraPDFreaderdownloadpage下载对应版本,比如64位,下载直达链接https://www.sumatrapdfreader.org/dl/rel/3
- CentOS挂载lvm分区VG重名问题
忍冬行者
Linuxcentoslinux运维
卷组(VolumeGroup)简称VG,它是一个或者多个物理卷的组合。卷组将多个物理卷组合在一起,形成一个可管理的单元,它类似于非LVM系统中的物理硬盘。具体原因是:公司业务其中一台centos服务器的操作系统启动不了,需要恢复其中的数据,将硬盘挂载到能正常启动的服务器上面,但是出现VG重名的问题,挂载不了的情况,具体解决思路如下1.使用pvs/lvs/vgs查看具体的LVM情况[root@loc
- [每周一更]-(第87期):主流软件负载均衡器对比(LVS、Nginx、HAproxy)
ifanatic
每周一更Linux负载均衡lvsnginx
负载均衡的实现方式一般来说有以下三种:基于DNS负载均衡:直接通过DNS来实现负载均衡。优点是非常简单,缺点是调整后不知道啥时生效(当然正常情况下几十分钟,长的也可能更长)基于硬件负载均衡:购买硬件,也就是我们常常说的F5(F5NetworkBig-IP),不过F5就贵一般来说单台硬件也得几十万块,要是搞个双机,多机就更贵了基于软件负载均衡:基于软件的方式也非常多,类似几个主流LVS、Nginx、
- 基于Qt的RTL可视模拟器(VSRTL)配置
吹角连营G
qtubuntu系统架构
文章目录VSRTL介绍Qt5.15.2安装构建VSRTLVSRTL介绍寄存器传输逻辑的可视模拟器(VisualSimulationofRegisterTransferLogic,VSRTL)是一个可以描述、可视化和仿真数字电路的框架。VSRTL描述的电路可以作为独立的应用,也可以嵌入到基于Qt的C++应用中。基于RISC-V指令集的模拟器Ripes即使用VSRTL开发。VSRTL依赖于C++17工
- 2023年Java面试题_Mongodb
suli77
面试mongodbjava数据库
IndexMongodb 1.基本概念 1.1.文档 1.2.集合 1.3.数据类型 1.4._id和ObjectId 2.基本操作 3.索引介绍 4.应用场景 4.1.MySQLVSMongoDB 4.2.应用场景 4.3.压测结果 4.4.常见架构 5.其他 5.1.oplogMongodb使用Docker安装MongoDBMongoDB用户角色配置MongoDB是面向文档的
- pve取消默认的swap,根目录扩容,dd new swap 15G
linux实践操作记录
linux
Swap分区大小选择Swap合理的大小是与VPS的物理内存有关的,关系表(RedHatEnterpriseLinux):内存<=4g:Swap至少4G内存4~16G:Swap至少8G内存16G~64G:Swap至少16G内存64G~256G:Swap至少32GlvsLVVGAttrLSizePoolOriginData%Meta%MoveLogCpy%SyncConvertrootpve-wi-a
- 愿你我都能成为这样的人
拾忆_ec82
喜欢这样的人,他们清醒理智,却不乏温情和感性。有时会将就,却也讲究。懂得如何进退,纵然生硬也没关系,最重要的是,爱自己。缄默却温柔,总是耐心地倾听。无谓输赢,很少显出攻击性。能够自给自足,让内心慢慢强大。不争辩,也不多解释。相信这种节制,能带给自己更多的愉悦。愿有朝一日,你我也能成为这样的人。――@LVSHU图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发
- 解决 VSCode 无法连接远程服务器,一直 Retry 的问题
Xavier Jiezou
qavscodevscodessh
问题描述使用VSCode的插件Remote-SSH连接远程服务器,之前一直好好的,不知道为什么今天连不上了,一直显示Retry(重试)。PING了一下远程服务器的IP,发现可以PING通,没什么问题。解决方案打开命令面板执行命令Remote-SSH:KillVSCodeServeronHost…选择一直连不上的服务器的IP即可引用参考https://www.cnblogs.com/zuozheng
- ebpf-go 初体验
前言我们在《用eBPF/XDP来替代LVS》系列、《一张图感受真实的TCP状态转移》系列,以及《如何终结已存在的TCP连接?》系列文章中,均通过纯C语言和libbpf1这个库来运用eBPF。但是很多的场景中(尤其是云原生场景),我们出于避免重复造轮子、更快的迭代速度、运行时安全等原因,会选择go语言来进行开发,ebpf-go2这个库就是当前最好的选择。今天,我们就对ebpf-go进行一个初体验,这
- 嵌入式软件工程师经典面试题__Linux专栏
嵌入式DZC
嵌入式linux面试
资源获取链接:https://download.csdn.net/download/daizhichaoaa/79128021https://download.csdn.net/download/daizhichaoaa/79128021目录:1.磁盘使用率检测(用shell脚本)2.LVS负载均衡有哪些策略?3.谈谈你对LVS的理解?4.负载均衡的原理是什么?5.LVS由哪两部分组成的?6.与l
- LVS/DR+keepalived配置实例(详细)
小小菜鸡钟先生
负载均衡
1.环境准备一台NFS服务器,采用内网192.168.100.20/24,共享目录为data1、data2两台后端服务器,分别采用外网192.168.100.60/24、192.168.100.70/24和内网192.168.1.130/24、192.168.1.132/24。网页目录分别挂载为NFS上data1和data2两台负载调度器,一主一备。均采用外网192.168.100.234/24、
- LVS-DR相关原理和配置流程
亨特潘
LVS-DR相关原理和配置流程LVS-DRLVS-DR的数据包流向分析lvs-DR中的ARP问题ARP响应问题服务器响应时,路由器记录服务器mac,导致调度器vip失效具体的设置参数流程准备配置LVS-DRLVS-DR的数据包流向分析为方便进行原理分析,将客户端与群集机器放在同一个网络中,数据包流经路线为1-2-3-41.客户机向目标VIP发出请求,director(负载均衡器)接收2.direc
- centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB...
weixin_30686845
运维后端开发工具
centosLB负载均衡集群三种模式区别LVS/NAT配置LVS/DR配置LVS/DR+keepalived配置nginxip_hash实现长连接LVS是四层LB注意down掉网卡的方法nginx效率没有LVS高ipvsadm命令集测试LVS方法第三十三节课LVS核心模块就是IPVS,安装在Director上,Director就是一个路由器,他包含有完成lvs功能的路由表,通过这些路由表把用户请求
- LVS/DR数据包流向分析
南柯一梦,笑谈浮生
负载均衡
lvs-dr模式原理转载注明出处:http://blog.csdn.net/lengzijian/article/details/8089661先附上一张原理图:为了更清晰的表述lvs-dr原理,我们用tcpdump工具打印出tcp数据,查看mac地址的更改情况,绘制出如下的时序图;图1表示201收到转发消息,图2表示200收到转发请求(下面两张为错误的图,错误的理由下面会详细解释)上面的信息全部
- LVS#LVS/DR工作模式实验
kakaops
文章目录LVS/DR工作模式基础知识LVS/DR工作模式实验操作1、环境准备:2、lvs-server-vip的配置3、http-server-1的配置4、http-server-2的配置5、客户端访问验证===================================================LVS/DR工作模式基础知识实验说明:1.网络使用NAT模式2.DR模式要求Director
- LVS/DR 配置
weixin_30646315
开发工具运维
LVS/DR配置实验环境三台主机:LinuxCentos6.432位调度器Director:192.168.1.160(公网IP)、192.168.1.100(VIP)HTTP真实服务器Realserver1:192.168.1.115(公网IP)、192.168.100(VIP)HTTP真实服务器Realserver2:192.168.1.111(公网IP)、192.168.100(VIP)实验
- LVS/DR模式和LVS/NAT模式的部署
月落吟夕
web集群
一、LVS/DR模式的部署目录一、LVS/DR模式的部署通过手工配置通过shell脚本配置192.168.118.150:负载调度器192.168.118.152和192.168.118.153:真实服务器192.168.118.154:测试通过手工配置1.关闭所有服务器防火墙[root@localhost~]#systemctlstopfirewalld[root@localhost~]#set
- LVS-DR配置
shen198623
lvslinux
1、准备工作--LVSServerDIP(LVS服务节点的内网固定IP):192.168.80.105VIP(虑拟IP):192.168.80.10在这个节点上设置一个虚拟VIP信息以上命令中的“lo:0”表示这个VIP绑定的目标卡设置,“192.168.80.10”这个IP就是VIP的值,广播地址为"192.168.80.10",子网掩码为"255.255.255.255",“up"关键字表示立
- LVS/DR&LVS高可用集群
Hannah_zh
LinuxLVS集群keepalivedipvsadmVS/DR
一、基本知识HeartbeatHeartbeat项目是Linux-HA工程的一个组成部分,其与lvs在本质上无关。Heartbeat提供了2个核心的功能正是lvs所需要的,心跳监测部分和资源接管,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,安装了Heartbeat的两台机器会通过心跳检测互相检测对方的状态,当检测到对方失效的时候会调用资源接管来做接管服务器,保证高可靠性。在一个高可靠的l
- LVS/DR模式+Keepalived配置安装详解
东城绝神
lvslvsdr模式安装
LVS/DR模式+Keepalived配置安装详解一、环境规划clientlocalhostDirector192.168.1.10(lvs+keepalived)192.168.1.11(lvs+keepalived)VIP192.168.1.50Real-Server192.168.1.12(nginx)192.168.1.13(nginx)192.168.1.14(nginx)注:1.vip
- LVS/DR模式原理剖析(FAQs)
Fernando的十年
unix/linuxLVS
1.LVS/DR如何处理请求报文的,会修改IP包内容吗?1.1vs/dr本身不会关心IP层以上的信息,即使是端口号也是tcp/ip协议栈去判断是否正确,vs/dr本身主要做这么几个事:1)接收client的请求,根据你设定的负载均衡算法选取一台realserver的ip;2)以选取的这个ip对应的mac地址作为目标mac,然后重新将IP包封装成帧转发给这台RS;3)在hashtable中记录连接信
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持