谷歌SEO

谷歌SEO

Products

当前位置:首页 > 谷歌SEO >

成都网站建设中,哪些代码和特效能增添网站趣味性?

96SEO 2026-02-19 12:34 13


1.2、本地事务

在同一个进程内#xff0c;控制同一数据源的事务#xff0c;称为本地事务。

成都网站建设中,哪些代码和特效能增添网站趣味性?

例如数据库事务。

在计…1、事务基础

事务可以看做是一次大的活动它由不同的小活动组成这些活动要么全部成功要么全部失败。

1.2、本地事务

在同一个进程内控制同一数据源的事务称为本地事务。

例如数据库事务。

在计算机系统中更多的是通过关系型数据库来控制事务这是利用数据库本身的事务特性来实现的因此叫数据库事务由于应用主要靠关系数据库来控制事务而数据库通常和应用在同一个服务器所以基于关系型数据库的事务又被称为本地事务。

AAtomic原子性。

构成事务的所有操作要么都执行完成要么全部不执行不可能出现部分成功部分失

败的情况。

CConsistency一致性。

在事务执行前后数据库的一致性约束没有被破坏。

IIsolation隔离性。

隔离性是指并发的两个事务的执行互不干扰一个事务不能看到其他事务运行过程的中间状态。

通过配置事务隔离级别可以避脏读、重复读等问题。

DDurability持久性。

事务完成之后该事务对数据的更改会被持久化到数据库且不会被回滚。

事务隔离级别脏读不可重复读幻读数据库默认隔离级别读未提交(read

uncommitted

read)否否是mysql串行化(Serializable)否否否/

脏读一个事务更新未提交另一个事务在读取时读到。

不可重复读第一次读取到的记录在第二次读取时未读到。

幻读一个事务在做插入或者删除,另一个事务在做读取时.

1.3、分布式事务

分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务。

1.4

当单体系统需要访问多个数据库实例时就会产生分布式事务。

简言之跨数据库实例产生分布式事务。

3、多服务访问同一个数据库实例。

原因就是跨JVM进程两个微服务持有了不同的数据库链接进行数据库操作此时产生分布式事务。

2、分布式事务基础

与本地事务不同的是分布式系统之所以叫分布式是因为提供服务的各个节点分布在不同机器上相互之间通过网络交互。

不能因为有一点网络问题就导致整个系统无法提供服务网络因素成为了分布式事务的考量标准之一。

因此分布式事务需要更进一步的理论支持。

2.1、CAP理论

Consistency、Availability、Partition

tolerance三个词语的缩写分别表示一致性、可用性、分区容忍

Consistency

一致性是指写操作后的读操作可以读取到最新的数据状态当数据分布在多个节点上从任意结点读取到的数据都是最新的状态。

由于存在数据同步的过程写操作的响应会有一定的延迟。

为了保证数据一致性会对资源暂时锁定待数据同步完成释放锁定资源。

如果请求数据同步失败的结点则会返回错误信息一定不会返回旧数据。

Availability

可用性是指任何事务操作都可以得到响应结果且不会出现响应超时或响应错误。

Partition

通常分布式系统的各各结点部署在不同的子网这就是网络分区不可避免的会出现由于网络问题而导致结点之间通信失败此时仍可对外提供服务这叫分区容忍性。

2.1.2、CAP组合方式

在所有分布式事务场景中不会同时具备CAP三个特性因为在具备了P的前提下C和A是不能共存的。

所以在生产中对分布式事务处理时要根据需求来确定满足CAP的哪两个方面。

1AP

放弃一致性追求分区容忍性和可用性。

这是很多分布式系统设计时的选择。

实现AP前提是只要用户可以接受所查询的到数据在一定时间内不是最新的即可。

通常实现AP都会保证最终一致性后面讲的BASE理论就是根据AP来扩展的一些业务场景比如订单退款今日退款成功明日账户到账只要用户可以接受在一定时间内到账即可。

2CP

放弃可用性追求一致性和分区容错性我们的zookeeper其实就是追求的强一致又比如跨行转账一次转账请求要等待双方银行系统都完成整个事务才算完成。

3CA

放弃分区容忍性即不进行分区不考虑由于网络不通或结点挂掉的问题则可以实现一致性和可用性。

那么系统将不是一个标准的分布式系统我们最常用的关系型数据就满足了CA。

2.2、BASE理论

CAP理论告诉我们一个分布式系统最多只能同时满足一致性Consistency、可用性Availability和分区容忍性Partition

tolerance这三项中的两项其中AP在实际应用中较多AP即舍弃一致性保证可用性和分区容忍性但是在实际生产中很多场景都要实现一致性比如前边我们举的例子主数据库向从数据库同步数据即使不要一致性但是最终也要将数据同步成功来保证数据一致这种一致性和CAP中的一致性不同CAP中的一致性要求在任何时间查询每个结点数据都必须一致它强调的是强一致性但是最终一致性是允许可以在一段时间内每个结点的数据不一致但是经过一段时间每个结点的数据必须一致它强调的是最终数据的一致性。

Base理论介绍

(最终一致性)三个短语的缩写。

BASE理论是对CAP中AP的一个扩展通过牺牲强一致性来获得可用性当出现故障允许部分不可用但要保证核心功能可用允许数据在一段时间内是不一致的但最终达到一致状态。

满足BASE理论的事务我们称之为“柔性事务”。

基本可用:分布式系统在出现故障时允许损失部分可用功能保证核心功能可用。

软状态:由于不要求强一致性所以BASE允许系统中存在中间状态也叫软状态这个状态不影响系统可用性如订单的支付中、“数据同步中”等状态待数据最终一致后状态改为“成功”状态。

最终一致:最终一致是指经过一段时间后所有节点数据都将会达到一致。

如订单的支付中状态最终会变为“支付成功”或者支付失败使订单状态与实际交易结果达成一致但需要一定时间的延迟、等待。

3、分布式事务解决方案之2PC

针对不同的分布式场景业界常见的解决方案有2PC、TCC、可靠消息最终一致性、最大努力通知这几种。

见附录

2PC的传统方案是在数据库层面实现的如Oracle、MySQL都支持2PC协议为了统一标准减少行业内不必要的对接成本需要制定标准化的处理模型及接口标准国际开放标准组织Open

Group定义了分布式事务处理模型DTPDistributed

Transaction

Program)即应用程序可以理解为使用DTP分布式事务的程序。

RM(Resource

Manager)即资源管理器可以理解为事务的参与者一般情况下是指一个数据库实例通过资源管理器对该数据库进行控制资源管理器控制着分支事务。

TM(Transaction

Manager)事务管理器负责协调和管理事务事务管理器控制着全局事务管理事务生命周期并协调各个RM。

全局事务是指分布式事务处理环境中需要操作多个数据库共同完成一个工作这个工作即是一个全局事务。

DTP模型定义TM和RM之间通讯的接口规范叫XA简单理解为数据库提供的2PC接口协议基于数据库的XA协议来实现2PC又称为XA方案。

1TM向AP提供

2TM交易中间件通过**XA接口**来通知RM数据库事务的开始、结束以及提交、回滚等。

整个2PC的事务流程涉及到三个角色AP、RM、TM。

AP指的是使用2PC分布式事务的应用程序RM指的是资源管理器它控制着分支事务TM指的是事务管理器它控制着整个全局事务。

2在提交阶段TM会接受RM在准备阶段的执行回复只要有任一个RM执行失败TM会通知所有RM执行回滚操作否则TM将会通知所有RM提交该事务。

提交阶段结束资源锁释放。

3.2.2、

Fescar后更名为Seata它是一个是开源的分布式事务框架。

传统2PC的问题在Seata中得到了解决它通过对本地关系数据库的分支事务的协调来驱动完成全局事务是工作在应用层的中间件。

主要优点是性能较好且不长时间占用连接资源它以高效并且对业务零侵入的方式解决微服务场景下面临的分布式事务问题它目前提供AT模式(即2PC)及TCC模式的分布式事务解决方案。

Seata的设计目标其一是对业务无侵入因此从业务无侵入的2PC方案着手在传统2PC的基础上演进并解决2PC方案面临的问题。

Seata把一个分布式事务理解成一个包含了若干分支事务的全局事务。

全局事务的职责是协调其下管辖的分支事务达成一致要么一起成功提交要么一起失败回滚。

此外通常分支事务本身就是一个关系数据库的本地事务下图是全局事务与分支事务的关系图

传统2PC

事务协调器它是独立的中间件需要独立部署运行它维护全局事务的运行状态接收TM指令发起全局事务的提交与回滚负责与RM通信协调各各分支事务的提交或回滚。

Transaction

Manager

事务管理器TM需要嵌入应用程序中工作它负责开启一个全局事务并最终向TC发起全局提交或全局回滚的指令。

Resource

Manager

控制分支事务负责分支注册、状态汇报并接收事务协调器TC的指令驱动分支本地事务的提交和回滚。

两阶段提交方面传统2PC无论第二阶段的决议是commit还是rollback事务性资源的锁都要保持到Phase2完成才释放。

而Seata的做法是在Phase1

就将本地事务提交这样就可以省去Phase2持锁的时间整体提高效率。

4、分布式事务解决方案之TCC

TCC是Try、Confirm、Cancel三个词语的缩写TCC要求每个分支事务实现三个操作预处理Try、确认Confirm、撤销Cancel。

Try操作做业务检查及资源预留Confirm做业务确认操作Cancel实现一个与Try相反的操作即回滚操作。

TM首先发起所有的分支事务的try操作任何一个分支事务的try操作执行失败TM将会发起所有分支事务的Cancel操作若try操作全部成功TM将会发起所有分支事务的Confirm操作其中Confirm/Cancel操作若执行失败TM会进行重试。

TCC分为三个阶段

阶段是做业务检查(一致性)及资源预留(隔离)此阶段仅是一个初步操作它和后续的Confirm

Confirm

Confirm阶段是不会出错的。

即只要Try成功Confirm一定成功。

若Confirm阶段真的出错了需引入重试机制或人工处理。

Cancel

阶段是在业务执行错误需要回滚的状态下执行分支事务的业务取消预留资源释放。

通常情况下采用TCC则认为Cancel阶段也是一定成功的。

若Cancel阶段真的出错了需引入重试机制或人工处理。

TM事务管理器

TM事务管理器可以实现为独立的服务也可以让全局事务发起方充当TM的角色TM独立出来是为了成为公

TM在发起全局事务时生成全局事务记录全局事务ID贯穿整个分布式事务调用链条用来记录事务上下文

追踪和记录状态由于Confirm

和cancel失败需进行重试因此需要实现为幂等幂等性是指同一个操作无论请求

4.2、TCC

tcc-transaction:https://github.com/changmingxie/tcc-transactionHmily:https://github.com/yu199195/hmilyByteTCC:https://github.com/liuyangming/ByteTCCEasyTransaction:https://github.com/QNJR-GROUP/EasyTransaction

TCC需要注意三种异常处理

出现原因是当一个分支事务所在服务宕机或网络异常分支事务调用记录为失败这个时候其实是没有执行Try阶段当故障恢复后分布式事务进行回滚则会调用二阶段的Cancel方法从而形成空回滚。

解决思路是关键就是要识别出这个空回滚。

思路很简单就是需要知道一阶段是否执行如果执行了那就是正常回滚如果没执行那就是空回滚。

前面已经说过TM在发起全局事务时生成全局事务记录全局事务ID贯穿整个分布式事务调用链条。

再额外增加一张分支事务记录表其中有全局事务

和分支事务

接口里读取该记录如果该记录存在则正常回滚如果该记录不存在则是空回滚。

通过前面介绍已经了解到为了保证TCC二阶段提交重试机制不会引发数据不一致要求

TCC

接口保证幂等这样不会重复使用或者释放资源。

如果幂等控制没有做好很有可能导致数据不一致等严重问题。

解决思路在上述“分支事务记录”中增加执行状态每次执行前都查询该状态。

Cancel

方法预留的业务资源只有该分布式事务才能使用该分布式事务第一阶段预留的业务资源就再也没有人能够处理了对于这种情况我们就称为悬挂即业务资源预留后没法继续处理。

解决思路是如果二阶段执行完成那一阶段就不能再继续执行。

在执行一阶段事务时判断在该全局事务下“分支事务记录”表中是否已经有二阶段事务记录如果有则不执行Try。

可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息事务参与方(消息消费者)一定能

够接收消息并处理事务成功此方案强调的是只要消息发给事务参与方最终事务要达到一致。

事务发起方消息生产方将消息发给消息中间件事务参与方从消息中间件接收消息事务发起方和消息中间件之间事务参与方消息消费方和消息中间件之间都是通过网络通信由于网络通信的不确定性会导致分布式事务问题。

本地事务与消息发送的原子性问题即事务发起方在本地事务执行成功后消息必须发出去否则就丢弃消息。

即实现本地事务和消息发送的原子性要么都成功要么都失败。

本地事务与消息发送的原子性问题是实现可靠消息最终一致性方案的关键问题。

事务参与方必须能够从消息队列接收到消息如果接收消息失败可以重复接收消息。

由于网络2的存在若某一个消费节点超时但是消费成功此时消息中间件会重复投递此消息就导致了消息的重复消费。

5.2、解决方案

本地消息表这个方案最初是eBay提出的此方案的核心是通过本地事务保证数据业务操作和消息的一致性然后通过定时任务将消息发送至消息中间件待确认消息发送给消费方成功再将消息删除。

5.2.2、RocketMQ事务消息方案

RocketMQ本身提供的存储机制为事务消息提供了持久化能力RocketMQ

的高可用机制以及可靠消息设计则为事务消息在系统发生异常时依然能够保证达成事务的最终一致性。

在RocketMQ

4.3后实现了完整的事务消息实际上其实是对本地消息表的一个封装将本地消息表移动到了MQ内部解决

Producer

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yrUpvcvB-1676785616521)(https://demon75520-images.oss-cn-shanghai.aliyuncs.com/csdn/2022/06/分布式事务专题-v1.jpg)]

执行流程如下

即MQ发送方本例中是用户服务负责新增用户。

MQ订阅方即消息消费方本例中是积分服务负责新增积分。

1)、Producer

Server将消息状态标记为Prepared预备状态注意此时这条消息消费者MQ订阅方是无法消费到的。

本例中Producer

”增加积分消息“

端执行业务代码逻辑通过本地数据库事务控制。

本例中Producer

4)、消息投递

本地事务执行成功则自动向MQServer发送commit消息MQ

若Producer

本地事务执行失败则自动向MQServer发送rollback消息MQ

Server接收到rollback消息后

MQ订阅方积分服务消费消息消费成功则向MQ回应ack否则将重复接收消息。

这里ack默认自动回应即程序执行正常则自动回应ack。

5)、事务回查

如果执行Producer端本地事务过程中执行端挂掉或者超时MQ

以上主干流程已由RocketMQ实现对用户侧来说用户需要分别实现本地事务执行以及本地事务回查方法因此只需关注本地事务的执行状态即可。

RoacketMQ提供RocketMQLocalTransactionListener接口

public

RocketMQLocalTransactionListener

{/**‐

发送prepare消息成功此方法被回调该方法用于执行本地事务‐

param

回传的消息利用transactionId即可获取到该消息的唯一Id‐

param

调用send方法时传递的参数当send时候若有额外的参数可以传递到send方法中这里能获取到‐

return

UNKNOW回调*/RocketMQLocalTransactionState

executeLocalTransaction(Message

msg,

通过获取transactionId来判断这条消息的本地事务执行状态‐

return

UNKNOW回调*/RocketMQLocalTransactionState

msg);

最大努力通知方案的目标发起通知方通过一定的机制最大努力将业务处理结果通知到接收方。

具体包括

因为接收通知方可能没有接收到通知此时要有一定的机制对消息重复通知。

如果尽最大努力也没有通知到接收方或者接收方消费消息后要再次消费此时可由接收方主动向通知方查询消息信息来满足需求。

1)、解决方案思想不同

可靠消息一致性发起通知方需要保证将消息发出去并且将消息发到接收通知方消息的可靠性关键由发起通知方来保证。

最大努力通知发起通知方尽最大的努力将业务处理结果通知为接收通知方但是可能消息接收不到此时需要接收通知方

主动调用发起通知方的接口查询业务处理结果通知的可靠性关键在接收通知方。

可靠消息一致性关注的是交易过程的事务一致以异步的方式完成交易。

最大努力通知关注的是交易后的通知事务即将交易结果可靠的通知出去。

3)、技术解决方向不同

可靠消息一致性要解决消息从发出到接收的一致性即消息发出并且被接收到。

最大努力通知无法保证消息从发出到接收的一致性只提供消息接收的可靠性机制。

可靠机制是最大努力的将消息通知给接收方当消息无法被接收方接收时由接收方主动查询消息业务处理结果。

6.2、解决方案

通过对最大努力通知的理解采用MQ的ack机制就可以实现最大努力通知。

方案1

本方案是利用MQ的ack机制由MQ向接收通知方发送通知流程如下

MQ会按照间隔1min、5min、10min、30min、1h、2h、5h、10h的方式逐步拉大通知间隔

如果MQ采用

rocketMq在broker中可进行配置直到达到通知要求的时间窗口上限。

方案2

本方案也是利用MQ的ack机制与方案1不同的是应用程序向接收通知方发送通知

交互流程如下

使用可靠消息一致方案中的事务消息保证本地事务与消息的原子性最终将通知先发给MQ。

3、通知程序通过互联网接口协议如http、webservice调用接收通知方接口完成通知。

通知程序调用接收通知方案接口成功就表示通知成功即消费MQ消息成功MQ将不再向通知程序投递通知消息。

MQ此方案主要应用于

2、方案2中由通知程序与MQ接口通知程序监听MQ收到MQ的消息后由通知程序通过互联网接口协议调用接收通知方。

此方案主要应用于外部应用之间的通知例如支付宝、微信的支付结果通知。

参考分布式事务–一致性协议



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback