- 搭建Kafka+zookeeper集群调度
krb___
kafka分布式
前言硬件环境172.18.0.5kafkazk1Kafka+zookeeperKafkaBroker集群172.18.0.6kafkazk2Kafka+zookeeperKafkaBroker集群172.18.0.7kafkazk3Kafka+zookeeperKafkaBroker集群软件环境zookeeper3.5.9资源调度、写作Kafka2.8.0消息通信中间件安装JDK1.8安装搭建zo
- Dubbo服务自动Web化之路
搜狐技术产品小编2023
dubbo前端
本文字数:6047字预计阅读时间:40分钟01故障出现事情起源于一次故障,2023年12月14日14点26分,大量Dubbo服务报出异常,无法链接zookeeper集群:Session0x0 for serverdubboZk.xxx.com/10.x.x.x:2181, Closingsocketconnection. AttemptingreconnectexceptitisaSessionE
- Kafka2.8.0集群安装教程
请叫我你好
安装教程kafka
Kafka2.8.0集群安装教程准备工作node01~node04(四个节点机器,三台也可以),kafka安装node01~~node03启动zookeeper,这里依次启动node131,node132,node133上的zk。(关于zookeeper集群安装请看https://blog.csdn.net/qq_41578037/article/details/123809220)[root@n
- 大数据系列 | Kafka架构分析及应用
降世神童
大数据技术专栏大数据kafka架构
大数据系列|Kafka架构分析及应用1.消息系统介绍2.Kafka原理分析3.Kafka架构分析4.Kafka的安装与配置4.1.Zookeeper集群安装配置4.2.安装Kafka集群4.3.配置kafka自启动服务5.kafka生产者和消费者的应用5.1.生产者使用5.2.消费者使用6.KafkaController控制器1.消息系统介绍 常用消息系统对比: ■RabbitMQ:Erlan
- Kafka-3.3.4摒弃zookeeper集群部署操作文档
ShoShin1020
kafkazookeeper分布式
一、集群规划kafka从2.8版本开始,就允许用户在不需要zookeeper的情况下运行。真正全面摒弃zookeeper的版本是3.0,在后面的版本kafka使用了新的元数据管理方式kraft,提高了Kafka的可扩展性、可用性和性能。下载地址:ApacheKafka这里下载kafka_2.13-3.4.0.tgz版本,自带有支持raft模式主机名称IPprocess.rolesnode.idma
- zookeeper分布式锁案例
shuair
zookeeper分布式zookeeper云原生
zookeeper分布式锁案例文档linux安装java-centos安装java-linux配置java环境变量zookeeper单机安装zookeeper集群安装zookeeper客户端命令行操作、节点类型及监听器zookeeper集群写数据原理java操作zookeeper手写分布式锁案例原理线程获取锁时,在/locks节点下创建临时有序号节点,需要注意的是,有序号的节点序号是递增的crea
- java操作zookeeper
shuair
zookeeperzookeeper
java操作zookeeper文档linux安装java-centos安装java-linux配置java环境变量zookeeper单机安装zookeeper集群安装zookeeper客户端命令行操作、节点类型及监听器zookeeper集群写数据原理java操作zookeeper依赖信息junitjunittestorg.apache.logging.log4jlog4j-core2.8.2org
- 基于Zookeeper搭建Kafka高可用集群
数字游牧人0v0
大数据BigDatakafkajava-zookeeperzookeeper大数据
基于Zookeeper搭建Kafka高可用集群一、Zookeeper集群搭建为保证集群高可用,Zookeeper集群的节点数最好是奇数,最少有三个节点,所以这里搭建一个三个节点的集群。1.1下载&解压下载对应版本Zookeeper,这里我下载的版本3.4.14。官方下载地址:https://archive.apache.org/dist/zookeeper/#下载wgethttps://archi
- zookeeper单机安装
shuair
zookeeperzookeeperjava
zookeeper单机安装文档linux安装java-centos安装java-linux配置java环境变量zookeeper单机安装zookeeper集群安装zookeeper客户端命令行操作、节点类型及监听器zookeeper集群写数据原理java操作zookeeper下载地址官网:https://zookeeper.apache.org/最新版本下载页面:https://zookeeper
- Zookeeper实现分布式锁
爱吃糖的靓仔
#分布式区分布式java-zookeeperzookeeper
文章目录什么是ZookeeperZookeeper集群机制Zookeeper特性Zookeeper数据结构Zookeeper应用场景Zookeeper的环境搭建(linux)Zookeeper客户端Zookeeper配置文件介绍Java操作ZookeeperZookeeper的事件通知使用Zookeeper实现分布式锁的思路Redis实现分布式锁代码实现什么是ZookeeperZookeeper是
- 大数据技术之Zookeeper安装 (2)
大数据深度洞察
Zookeeper大数据hadoopzookeeper
目录下载地址本地模式安装1)安装前准备2)配置修改3)操作Zookeeper配置参数解读Zookeeper集群操作集群规划解压安装配置服务器编号配置zoo.cfg文件集群操作Zookeeper集群启动停止脚本创建脚本增加脚本执行权限Zookeeper集群启动脚本Zookeeper集群停止脚本Zookeeper选举机制(面试重点)首次启动选举非首次启动选举关键术语解释下载地址官网首页:ApacheZ
- 大数据面试-Zookeeper
文文鑫
#大数据面试-Zookeeper大数据面试zookeeper
你对Zookeeper的选举机制了解吗?为什么zk节点个数推荐奇数台?zk第一次启动的选举的细节了解吗?ZooKeeper的选举机制是基于Paxos算法的一种分布式选举算法,用于在ZooKeeper集群中选择一个节点作为Leader,负责处理客户端的写请求和协调其他节点。选举过程涉及多个方面,包括选举算法的实现细节、奇数节点的重要性,以及初始化时的选举过程。选举算法的实现细节:在ZooKe
- zookeeper集群安装
shuair
zookeeperzookeeper
zookeeper集群安装文档linux安装java-centos安装java-linux配置java环境变量zookeeper单机安装说明版本选择:apache-zookeeper-3.5.7-bin.tar.gz下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.ta
- zookeeper动态扩缩容(无需重启)
cj_eryue
zookeeperzookeeperlinux分布式
目录一、启动一个zk二、扩容一个zk三、缩容一个zk四、重新配置集群的节点前言:zookeeper动态扩/缩容的reconfig命令旨在不需要重启zookeeper中任何一个节点的情况下,对整个zookeeper集群进行动态扩/缩容。zookeeper客户端支持的命令:[zk:localhost:2181(CONNECTED)5]helpZooKeeper-serverhost:port-clie
- Zookeeper
efzy
大数据zookeeper分布式云原生
Zookeeper第1章Zookeeper入门Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。1.1Zookeeper工作机制1.2特点1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器。3)全局数据一致:每
- 第五节 zookeeper集群与分布式锁_2
做个专注的工程师
#zookeeperzookeeper
1.分布式锁概述1.1什么是分布式锁1)要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁。线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象头,显示锁Lock是共享某个变量(state)。分布式锁:分布式锁,即分布式系统
- SpringBoot+Dubbo+Zookeeper集群实战
长孙俊明
搭建环境Idea工程目录结构parent父工程api-service子工程api-service-impl子工程web子工程创建父工程Parentimage.pngimage.png4.0.0com.springboot.dubboparentpom1.0-SNAPSHOTapi-service-implapi-servicewebUTF-81.81.81.84.0.13.4.130.2.0org
- 使用solr6.0搭建solrCloud
牛初九
使用solr6.0搭建solrCloud一、搭建zookeeper集群下载zookeeper压缩包到自己的目录并解压(本例中的目录在/opt下),zookeeper的根目录我们在这里用${ZK_HOME}表示。在${ZK_HOME}/conf下创建zoo.cfg文件,可以复制zoo_sample.cfg文件:cpzoo_sample.cfgzoo.cfg修改zoo.cfg的内容如下:vimzoo.
- 云服务器安装Kafka集群
NealLemon
上一篇云服务器搭建zookeeper集群讲解了在云服务器环境下,zookeeper集群的搭建,今天我们在其基础上来搭建一下在云服务器环境下kafka集群。服务器环境阿里云:轻量服务器1核2G(CENTOS)腾讯云:轻量服务器1核2G(CENTOS)金山云:轻量服务器1核2G(CENTOS)搭建Kafka集群安装Scala从scala官方网站地址下载,我这里下载的是scala-2.12.8.tgz。
- 【c++】c++类的大小的计算和this指针
阿福爱学习
c++java数据库
文章目录1.类的大小如何计算?2.类内部的this指针3.this指针的特性本文为作者关于c++类学习过程中的小小总结1.类的大小如何计算?c++的类由成员变量和成员函数等组成,不同于c中的结构体只有成员变量,但类大小的计算方法和结构体的计算方法是一样的,总的来说,类大小的一样是用内存对齐的方式来计算的,(内存对齐计算方法参考点击这里,别人总结的很好)类的大小计算只考虑成员变量,不考虑成员函数,因
- dockerer-compose搭建单机clickhouse集群,工作中最新亲测能用,超详细
迷梦星河
服务及集群搭建大数据dockerlinuxjavaclickhouse
公司这几天让我搭建clickhouse集群,这一周我在公司的角色更像是运维人员搭建集群和服务,一个字干,另外kafka搭建点击这篇,zookeeper集群搭建点击这篇。对于集群搭建来说使用docker来搭建更加方便,这里使用docker-compose来搭建clickhouse集群。由于我自己就一台服务器,那就在一台搭个三分片三副本的集群,这里分二个阶段:准备阶段、搭建阶段。1、准备阶段:连接客户
- 第四节 zookeeper集群与分布式锁
做个专注的工程师
#zookeeperjavazookeeper
目录1.Zookeeper集群操作1.1客户端操作zk集群1.2模拟集群异常操作1.3curate客户端连接zookeeper集群2.Zookeeper实战案例2.1创建项目引入依赖2.2获取zk客户端对象2.3常用API2.4客户端向服务端写入数据流程2.5服务器动态上下线、客户端动态监听2.6测试3.Zookeeper分布式锁3.1什么是分布式锁3.2Zookeeper分布式锁分析3.3分布式
- 第三节 zookeeper基础应用与实战2
做个专注的工程师
#zookeeperzookeeper分布式云原生
目录1.Watch事件监听1.1一次性监听方式:Watcher1.2Curator事件监听机制2.事务&异步操作演示2.1事务演示2.2异步操作3.Zookeeper权限控制3.1zk权限控制介绍3.2Scheme权限模式3.3ID授权对象3.4Permission权限类型3.5在控制台实现操作3.6Curator演示ACL的使用4.Zookeeper集群搭建4.1搭建要求4.2Zookeeper
- 2018年下学期班主任工作总结——五年级二班湖上中心小学
恋津子
2018年9月至1月担任湖上中心小学五年级二班班主任工作,现小小总结如下:一:班级工作的基本情况1.我们班级在校举行的红歌比赛中荣获一等奖;2.在乡举行的朗诵比赛中鑫怡同学获一等奖,宇成,雪勤,子悦,王芳,金繁,鑫洋六位同学获三等奖3.班级举行了万圣节活动,生日会;4.举办了各种手抄报活动,班会活动;5.与新疆的小朋友通信;6.每月进行评比活动。在以上活动中存在问题有:1.朗诵活动没有及时起到激励
- 1.业界方案-瓜子二手车在 Dubbo 版本升级、多机房方案方面的思考和实践(1)
hedgehog1112
前言系统规模扩大,私有云上数百个Dubbo应用,上千个Dubbo实例。版本没统一,发生与Dubbo相关事故,成为升级的诱因。一、Ephermal节点未及时删除导致provider不能恢复注册的问题修复事故背景各业务线共用zookeeper集群作为dubbo注册中心。19年9月,一台交换机故障,导致zk集群几分钟网络波动。zk集群恢复后,正常dubbo的provider很快重新注册到zk上,但小部分
- centos7搭建集群过程
妖怪书生
linux新手学习linuxhadoopcentos
集群搭建过程第一步:ping测试第二步:修改主机名第三步:修改IP地址与域名映射关系第四步:重启reboot第五步:关闭防火墙第六步:关闭SELinux第七步:免密登录第八步:时钟同步第九步:安装JDK第十步:安装MySQL第十一步:重新设置密码的步骤第十二步:配置Zookeeper集群搭建过程第一步:ping测试复制三台机器,分别为node01,node02,node03按照我们之前学习的,将I
- Zookeeper集群搭建(3台)
在下区区俗物
zookeeperlinux分布式
准备工作1、提前安装好hadoop102、hadoop103、hadoop104三台机器,参照:CentOS7集群环境搭建(3台)-CSDN博客2、提前下载好Zookeeper安装包并上传到/opt/software上、安装包,链接:https://pan.baidu.com/s/1Ta9DH6FHm2pO4vQw_5wC4A?pwd=6666安装Zookeeper一、解压安装1、解压Zookee
- Zookeeper搭建集群步骤
qq_22019789
zookeeperjava
环境配置描述服务器:Centos6.564bit软件:Vmware12.0使用虚拟机创建三台服务器作为Zookeeper集群的节点服务器,分别配置hosts文件,IP地址。[hadoop@note1~]$cat/etc/hosts127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4::1localhostl
- zookeeper集群部署
机灵鬼鬼
第一步下载、配置找到官网地址快速部署zk的文档:http://zookeeper.apache.org/doc/r3.4.14/zookeeperStarted.html主要是对conf/zoo.cfg文件的配置这里配置还没有完成,需要制定myid文件,来指定当前机器所属集群的节点编号注意这里的myid文件一定要在每个zk节点机器的dataDir文件夹下myid文件的内容第一台机器myid文件内容
- zookeeper leader、follower同步
tracy_668
zookeeper集群启动的时候,首先读取配置,接着开始选举,选举完成以后,每个server根据选举的结果设置自己的角色,角色设置完成后leader需要和所有的follower同步同步过程设置server当前状态image.pngserver刚启动的时候都处于LOOKING状态,选举完成后根据选举结果和对应配置进入对应的状态,设置状态的方法是:privatevoidsetPeerState(lon
- 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独立出来,数据持