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

如何破解网站后台wordpress获取微信用户信息

如何破解网站后台,wordpress获取微信用户信息,电子商务网站建设规划实践成果,宁波公司网站首页优化付莎摘要#xff1a;高可用性(HA-High Availability)是所有商用数据库系统必须具备的一项基本功能。该文阐述了PostgreSQL数据库的高可用性的实现原理及方法#xff0c;并对PostgreSQL数据库的原生流复制功能实现高可用性热备功能进行了应用描述。关键词#xff1a;PostgreS…付莎摘要高可用性(HA-High Availability)是所有商用数据库系统必须具备的一项基本功能。该文阐述了PostgreSQL数据库的高可用性的实现原理及方法并对PostgreSQL数据库的原生流复制功能实现高可用性热备功能进行了应用描述。关键词PostgreSQL高可用性热备流复制中图分类号TP311 文献标识码A 文章编号1009-3044(2018)12-0001-03Abstract HA-High Availability is a basic function that all commercial database systems must have. This paper describes the realization principles and methods of HA-high availability PostgreSQL database and describes the application of PostgreSQL databases native streaming replication function to achieve high availability hot standby function.Key words PostgreSQL HA-High Availability hot standby streaming replicationPostgreSQL是一套企业级的、跨平台、高度可定制的、功能强大的开源数据库系统。其可靠性、稳定性、数据一致性等获得了业界内极高的声誉。是唯一能实现数据零丢失的开源数据库系统。随着PostgreSQL的商用逐渐推动在数据库市场上成为对标OracleMSSQL等传统大型商业数据库的有力竞争者[1]。数据库系统中数据是所有一切的基础。数据的安全性和一致性是数据库系统中的重中之重。数据可能由于不可预见的各种原因丢失或损坏因此数据的备份成为保证数据安全性的一个重要的后备手段。在此方面企业级的PostgreSQL提供了多种功能特性保障数据的安全和可用性。1 PostgreSQL数据备份PostgreSQL可实现三种不同级别的数据备份方法SQL转储利用pg_dump工具将数据转储为标准SQL语句组成的文件。需要时执行SQL语句即可恢复数据。此种方式通用性最好实现简便可在不同版本及不同操作系统间迁移和恢复数据。缺点为只能实现数据库的定期及全量备份。文件系统级别备份利用文件系统直接复制PostgreSQL数据文件进行备份操作获取一个数据文件的“快照”。需要恢复或迁移时再将“快照”文件拷贝至目标路径。此种方式实现简便但限制条件也比较苛刻。(1)备份和恢复时目标数据库必须停机操作。在一些特定系统中停机是无法接受的。(2)只能备份和恢复整台服务器不能有针对性的操作某一特定的数据库数据容量巨大。(3)操作系统和PostgreSQL版本必须一致。连续归档和时间点恢复(PITR)利用PostgreSQL提供的WAL(预写式日志)文件的连续归档特性“备份”WAL文件。在“基础备份”的基础上当需要恢复和迁移数据时目标数据库上“重放”WAL使目标数据库与原始数据库数据保持一致。基于“重放”WAL可实现“增量”备份、“任意时间点”恢复、“温备”和“热备”等多种备份方式。此种方式技术实现相比较最为复杂但可靠性和灵活性上却最高。在保障系统高可用性情况下应是首选备份技术[2][4]。以上三种数据备份方式各有优缺点但相比较下只有使用WAL连续归档技术实现数据备份、故障迁移保障高可用性最为有效和便捷。2 备份原理2.1 WAL文件WAL(Write Ahead Log)预写式日志文件是PostgreSQL中一个重要机制。作用与Oracle中redo log文件作用类似。用于保障数据的一致性以及事务的完整性。避免系统在崩溃时数据还在某级缓冲中没来得及写入持久化文件中的脏数据产生的数据不一致性。具体来说WAL的核心概念是数据文件的修改必须在这些动作被日志记录之后才被写入。WAL记录了完整的操作数据以及动作先于数据被写入数据文件前顺序写入文件系统。WAL中的每一条记录使用CRC-32校验码保护首先就保证了WAL的完整性。当系统需要重建数据时由于WAL先于数据写入则可顺序“回放”WAL文件中的先前数据和操作直至某一设定时间点或WAL文件末尾停止从而达到和先前一致的数据库状态。WAL被PostgreSQL默认划分成16MB的段文件按一定规则顺序命名文件并保存于系统pg_xlog目录下。默认情况下WAL被设置为minimal级别该级别下某些批量操作的WAL可以被安全的跳过这样这些操作能更快地完成。但该级别不包含有足够的信息来从基础备份和WAL来重建数据。因此构架高可用性系统时必须设置高于minimal的级别使用例如archive或更高级别以保证WAL包含有足够的重建数据信息[2]。2.2 啟用WAL归档、传输实现备份当系统启用archive或更高级别的WAL级别时我们可通过归档WAL文件实现数据的备份。Postgresql并没有限定我们怎么样归档数据而是提供了一个参数来自定义归档动作。当WAL文件产生后我们可以简单的设置参数为拷贝WAL文件至另一磁盘驱动器目录或执行复杂脚本将WAL传输至网络上另一台服务器。利用上述WAL技术特性我们可以简单的描述实现“双机热备”的过程。(1)设置主机归档模式wal_level为archive(2)主机使用PostgreSQL提供的pg_basebackup等工具制作一次基础备份并将备份文件拷贝至备机完成一次主被机间的基础备份(3)主机产生WAL文件后通过archive_command参数调度命令传输至备机(4)备机接收到WAL文件后持续恢复主机的WAL文件最大限度跟上主机数据产生速度[1][7]。当主机发生故障时此时由于主备机间传输WAL文件可能具有一定的延时原因或主机WAL文件并没有填充完一块(默认16MB)还没有开始传输主备机间数据可能并不一致备机落后于主机。此时如果使用故障迁移并使用备机提供数据服可能存在一定的数据丢失但在某种程度上已经最大限度地保证了系统的可用性[2]。2.3 PostgreSQL热备通过上述WAL文件在主备服务器间的归档、传输以及重放我们已经了解了PostgreSQL的“温备”原理。如需进一步提升备份级别实现真正意义上的热备我们必须通过其他技术手段减小主备服务器间的数据同步延时实现主备服务器间的快速同步。3流复制3.1 流复制原理PostgreSQL流复制是PostgreSQL9.0版本后才提供的功能它的基本原理与上述主服务器WAL日志归档后传输至备服务器并重放以保证主备服务器数据一致情形类似。但流复制从PostgreSQL系统层面对这一过程进行了简化。首先主备服务器间使用PostgreSQL提供的TCP协议建立网络连接不再使用archive_command参数命令进行第三方WAL文件传输。主服务器在数据变动并产生WAL记录后(并不需要完整一块16MB文件仅为一次操作记录)立即将记录以TCP数据流的方式传送给备服务器而不必等到 WAL文件被填充后成才进行传输[2]。此种机制极大的缩减了主备服务器间的数据同步延迟拥有更高效的可用度。同时PostgreSQL9.0版本后提供了Hot Standby功能支持备机在流复制基础上同步主服务器数据的同时还能提供备机数据的只读访问。此特性极大地提升了用户体验也使数据库的读写分离、负载均衡等功能从PostgreSQL系统层面提供了技术实现(之前版本只能通过第三方插件形式实现)。PostgreSQL9.2版本后提供了级联复制功能在实现主备服务器流复制数据同步的同时备服务器还可将WAL转发给其他下位备机实现更大规模的集群。流复制技术为数据库的热备、高可用性、负载均衡等提供了原生技术支持[5][6]。当启用PostgreSQL主备服务器流复制功能后将有walsender、walreceiver和startup三个进程启动参与整个流复制功能。简单来说walsender進程从主服务器启动主要负责将主服务器产生的WAL日志记录发送给下位机walreceiver进程则从备服务器启动对应walsender进程与之通讯主要负责接收上位机发送的WAL日志记录startup进程则从备服务器启动主要负责将walreceiver进程接收到WAL日志记录在备服务器上“回放”以便达到主备服务器间的数据同步。在级联模式下一台备服务器可能同时启动三个进程即既负责接收上位机的WAL日志记录并回放同时也将WAL日志记录继续发往下位机[3][5]。3.2 异步流复制PostgreSQL默认情况下启用的为异步流复制模式。此模式下主服务器不等待备机确认主服务器上数据成功提交即视为操作完成。并将完成结果反馈给前台提交此操作的客户端。假设上述操作完成后主服务器崩溃某些已被提交的WAL日志还没来得及复制到备服务器(例如网络延时等)如此时进行了故障迁移由于备服务器上则没有这笔操作数据但此时前台客户端却得到了操作成功指令这时将导致数据丢失。再如主服务器上数据已成功提交但还没来得及复制到备服务器(例如网络延时)并且运行着负载均衡架构备服务器提供只读查询服务那么此时使用备服务器查询到的结果将和主服务器数据不同产生了数据不一致。异步流复制虽然有可能产生上述问题但异步流复制只需主服务确认即可的特性大大提升了系统的负载。在部分非关键的系统应用中也是一种可选方案[2]。3.3 同步流复制PostgreSQL开启配置参数synchronous_commiton即可开启同步流复制。同步流复制能够保证一个事务的所有修改都能被传送到一台同步备服务器。在请求同步流复制时一个写事务的每次提交将一直等待直到收到一个确认表明该提交在主服务器和备服务器上都已经被写入到磁盘上的事务日志中。即保证主备服务器WAL日志双双落盘才返回成功[2][6]。此时虽然增加了主备服务期间来回通讯确认的等待时间延长了前台客户端请求事务的响应时间。但等待确认提高了用户对于修改不会丢失的信心。此外如果有多台备服务器连接主服务器进行数据同步通过配置参数synchronous_standby_names还可设置等待全部或其中某几台完成WAL落盘确定即返回成功。在多台数据同步的集群中可在高可用性和系统性能上找到一个平衡点[2][7]。4 流复制应用上述已就PostgreSQL的备份和流复制构建热备进行了原理和理论阐述。本节将就PostgreSQL双机同步流复制实现热备和故障迁移应用给出实现方案。目标实现双机异地PostgreSQL数据库容灾热备。预设主备机IP地址主机192.10.1.100 备机192.10.1.101。下述配置文件*.conf都默认位于PostgreSQL安装路径data目录下。PostgreSQL9.3以上版本。4.1 主机postgresql.conf文件配置设置listen_addresses *主服务器开启监听所有客户地址访问许可默认值为只能监听本机访问网络上其他服务器不允许连接。设置wal_level hot_standby主服务WAL日志级别使用hot_standby级别此级别下日志记录的信息和上文提到的archive相同但外加了从WAL重建运行事务状态所需的其他信息流复制必须设置此级别。设置max_wal_senders2设置向备服务器进行发送walsender进程的最大连接数。本例中由于是使用双机热备连接数2即可。设置wal_keep_segments 128设置WAL文件被重用的最大值确保旧的WAL段不会被太早重用(文件系统会对WAL进行循环覆盖使用以便节约磁盘空间)。避免由于主机数据量巨大而备机还尚未处理而主机已经覆盖了待未传输至备机处理的WAL文件。可根据系统负载情况调整[2]。设置synchronous_commiton设置事务为同步模式。保证备机将提交记录写入到持久化存储中主机事务才能成功返回[1][7]。4.2 主机pg_hba.conf文件配置增加配置项host replication postgres 192.10.1.101/32 md5增加IP192.10.1.101备机使用用户postgres 使用流复制功能访问许可。上述配置完毕后重启PostgreSQL数据库以便新设置项生效。4.3 主机进行基础备份a.开启pgsql程序执行命令select pg_start_backup(basebackup)此命令将使系统进入备份模式执行基础备份。b.待执行完毕后拷贝出data数据目录备用。c.拷贝完毕后执行select pg_stop_backup()此命令系统终止备份模式并让在备份期间写入的最后一个WAL段文件能准备好被归档[1][2]。4.4 备机拷贝文件删除备机data目录下所有文件并将上一步主机拷贝出的data目录下所有文件拷贝至备机data目录下。4.5 备机postgresql.conf文件配置设置hot_standbyon开启备机在归档恢复期间或备机模式下开启只读查询模式。4.6 备机recover.conf文件配置备机创建recover.conf文件并放置于data目录下。设置standby_mode on指定为备机模式启动设置recovery_target_timeline latest使备机恢复到归档中能找到的最新的时间线保持和主机的数据同步。设置primary_conninfohost192.10.1.100 userpostgres password主机登陆口令设置备机连接主机进行流复制的连接字符串。4.7 备机启动上述配置完成后启动备机即可完成PostgreSQL双机同步热备服务器配置。4.8 故障迁移假设最坏的情况发生了主机崩溃无法继续提供服务此时可使用故障迁移将备机提升为主机从只读模式提升为提供读写服务。保障系统的高可用性。故障迁移必须手动操作有两种方式备机recover.conf配置文件中设置trigger_file项值为某一系统中文件路径。在服务器作为备机使用时此路径上的文件必须不存在。如需将备机提升为提供读写服务器则建立此路径文件即可。当备机检测到文件存在后立即退出备机恢复模式提升为独立主机模式提供完整读写服务。在备机上执行pg_ctl premote -D ‘备机数据目录路径。效果及原理与a相同即命令备机停止备机恢复模式提升为独立主机模式[1]。在某些特定应用场景下本方案仍具有一定的可优化。例如使用PostgreSQL9.4版本后提供的复制槽(Replication Slots)技术提供的自动WAL检测技术替换wal_keep_segments参数功能。避免未同步的WAL段被主机替换删除。或设置tcp_keepalive参数避免长时间的网络延时导致前台客户端事务提交的等待时间过长[7]。例如PostgreSQL10版本提供的逻辑复制技术只同步应用需要的特定表完成更复杂的集群应用等等[8]。至此使用PostgreSQL流复制功能实现双机热备服务器搭建完成。参考文献[1] 唐成.PostgreSQL修炼之道[M].机械工业出版社2015.[2] The PostgreSQL Global Development Group. Documentation[EB/OL].(2016-09-29). https//www.postgresql.org/docs/.[3] 周正中.PostgreSQL同步流復制原理和代码浅析[EB/OL].(2016-06-16).https//yq.aliyun.com/articles/55676.[4] [美] 杰亚德万·梅马拉(Jayadevan Maymala).数据架构师的PostgreSQL修炼高效设计、开发与维护数据库应用[M].机械工业出版社2016.[5] [美]Regina ObeLeo Hsu.PostgreSQL即学即用[M].人民邮电出版社2016.[6] [英]Simon RiggsGianni CiolliGabriele Bartolini.PostgreSQL Administration Cookbook[M]. Packt Publishing2017.[7] [英]Gregory SmithIbrar Ahmed.PostgreSQL 9.6 High Performance[M].Packt Publishing2017.[8] 周正中.PostgreSQL 10.0 逻辑复制原理与最佳实践[EB/OL].(2017-02-28).https//yq.aliyun.com/ articles/71128.
http://www.zqtcl.cn/news/345460/

相关文章:

  • flash网站源码带asp后台电子商务有限公司网站
  • 一个网站有多少网页简单的logo设计
  • 重庆专业网站营销长春建站免费模板
  • 企业建设网站多少钱爱的网站歌曲
  • 宁波网站优化如何欣宝儿在什么网站做直播
  • 东营网签查询系统官方网站超炫的网站模板
  • 请人做网站谁来维护南宁营销型网站设计
  • 汕头做网站的公司西安建筑科技大学华清学院教务网
  • 免费行情网站在线石家庄正规制作网站公司
  • 站长工具网凡科网商城
  • 网站开发工程师需要会写什么区别沈阳网站建设建设公司哪家好
  • 营销型网站建设的优缺点利用海康威视做直播网站
  • 阿里手机网站开发框架怎么看网站被降权
  • 电视台做网站还是APP网络推广是什么意思
  • 浙江鼎兴建设有限公司网站wordpress看不到安装的主题
  • 琪觅公司网站开发c语言开发环境
  • 在哪个网站上做实验仪器比较好信息服务平台有哪些
  • 淘宝网站的建设目的是什么意思做雕塑设计的网站
  • 猎头网站模板个人社保缴费年限怎么查询
  • 博客网站设计及说明wordpress 显示 列表
  • 佛山制作手机网站莆田自助建站软件
  • 建邺做网站价格网站做换肤
  • 佛山有什么网站室内装饰设计怎么样
  • 智能建站与正常的网站购买 做网站 客户
  • 哪个是网络营销导向网站建设的基础微信商城开店需要费用吗
  • 宁波住房和建设局网站首页福州有做网站引流的吗
  • 国外科技类网站戴尔网站建设
  • 视频播放网站模板洞泾做网站公司
  • 深圳大学网站建设中美军事最新消息
  • gta5可用手机网站大全佛山网站建设服务