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

海口网站网站设计怎么验收

海口网站,网站设计怎么验收,wordpress 上传图片接口,临汾做网站Seata 是什么 Seata 是一款开源的分布式事务解决方案#xff0c;致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式#xff0c;为用户打造一站式的分布式解决方案。 一、示例架构说明 可在此查看本示例完整代码地址#x…Seata 是什么 Seata 是一款开源的分布式事务解决方案致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式为用户打造一站式的分布式解决方案。 一、示例架构说明 可在此查看本示例完整代码地址dubbo-samples-seata 用户采购商品业务整个业务包含3个微服务: 库存服务: 扣减给定商品的库存数量。订单服务: 根据采购请求生成订单。账户服务: 用户账户金额扣减。 StorageService public interface StorageService {/*** 扣除存储数量*/void deduct(String commodityCode, int count); }OrderService public interface OrderService {/*** 创建订单*/Order create(String userId, String commodityCode, int orderCount); }AccountService public interface AccountService {/*** 从用户账户中借出*/void debit(String userId, int money); }二、主要的业务逻辑 BusinessService public class BusinessServiceImpl implements BusinessService {private StorageService storageService;private OrderService orderService;/*** 采购*/public void purchase(String userId, String commodityCode, int orderCount) {// 扣除存储数量storageService.deduct(commodityCode, orderCount);// 创建订单orderService.create(userId, commodityCode, orderCount);} }StorageService public class StorageServiceImpl implements StorageService {private JdbcTemplate jdbcTemplate;Overridepublic void deduct(String commodityCode, int count) {// 修改数据库扣减存储数量jdbcTemplate.update(update storage_tbl set count count - ? where commodity_code ?,new Object[]{count, commodityCode});} }OrderService public class OrderServiceImpl implements OrderService {private AccountService accountService;private JdbcTemplate jdbcTemplate;public Order create(String userId, String commodityCode, int orderCount) {// 计算金额int orderMoney calculate(commodityCode, orderCount);// 用户账户中扣减金额accountService.debit(userId, orderMoney);// 修改数据库新建订单final Order order new Order();order.userId userId;order.commodityCode commodityCode;order.count orderCount;order.money orderMoney;KeyHolder keyHolder new GeneratedKeyHolder();jdbcTemplate.update(con - {PreparedStatement pst con.prepareStatement(insert into order_tbl (user_id, commodity_code, count, money) values (?, ?, ?, ?),PreparedStatement.RETURN_GENERATED_KEYS);pst.setObject(1, order.userId);pst.setObject(2, order.commodityCode);pst.setObject(3, order.count);pst.setObject(4, order.money);return pst;}, keyHolder);order.id keyHolder.getKey().longValue();return order;} }AccountService public class AccountServiceImpl implements AccountService {private JdbcTemplate jdbcTemplate;Overridepublic void debit(String userId, int money) { // 修改数据库用户账户中扣减金额 jdbcTemplate.update(update account_tbl set money money - ? where user_id ?, new Object[]{money, userId});} }三、快速启动示例 Step 1: 下载源码 git clone -b master https://github.com/apache/dubbo-samples.git cd ./dubbo-samples-transaction/Step 2: 通过 docker-compose 启动 Seata-Server 和 MySQL 等 在此示例中我们使用 docker-compose 快速拉起 seata-server 和 mysql 等服务。 cd src/main/resources/docker docker-compose upStep 3: 构建用例 执行 maven 命令打包 demo 工程 mvn clean packageStep 4: 启动 AccountService java -classpath ./target/dubbo-samples-transaction-1.0-SNAPSHOT.jar org.apache.dubbo.samples.starter.DubboAccountServiceStarterStep 5: 启动 OrderService java -classpath ./target/dubbo-samples-transaction-1.0-SNAPSHOT.jar org.apache.dubbo.samples.starter.DubboOrderServiceStarterStep 6: 启动 StorageService java -classpath ./target/dubbo-samples-transaction-1.0-SNAPSHOT.jar org.apache.dubbo.samples.starter.DubboStorageServiceStarterStep 7: 启动 BusinessService java -classpath ./target/dubbo-samples-transaction-1.0-SNAPSHOT.jar org.apache.dubbo.samples.starter.DubboBusinessTester四、示例核心流程 Step 1: 修改业务代码 此处仅仅需要一行注解 GlobalTransactional 写在业务发起方的方法上: GlobalTransactionalpublic void purchase(String userId, String commodityCode, int orderCount) {......}Step 2: 安装数据库 要求: MySQL (InnoDB 存储引擎)。 提示: 事实上例子中3个微服务需要3个独立的数据库但为了方便我们使用同一物理库并配置3个逻辑连接串。 更改以下xml文件中的数据库url、username和password dubbo-account-service.xml dubbo-order-service.xml dubbo-storage-service.xml property nameurl valuejdbc:mysql://x.x.x.x:3306/xxx /property nameusername valuexxx /property namepassword valuexxx /Step 3: 为 Seata 创建 undo_log 表 UNDO_LOG 此表用于 Seata 的AT模式。 -- 注意当 Seata 版本升级至 0.3.0 将由之前的普通索引变更为唯一索引。 CREATE TABLE undo_log (id bigint(20) NOT NULL AUTO_INCREMENT,branch_id bigint(20) NOT NULL,xid varchar(100) NOT NULL,context varchar(128) NOT NULL,rollback_info longblob NOT NULL,log_status int(11) NOT NULL,log_created datetime NOT NULL,log_modified datetime NOT NULL,ext varchar(100) DEFAULT NULL,PRIMARY KEY (id),UNIQUE KEY ux_undo_log (xid,branch_id) ) ENGINEInnoDB AUTO_INCREMENT1 DEFAULT CHARSETutf8;Step 4: 创建相关业务表 DROP TABLE IF EXISTS storage_tbl; CREATE TABLE storage_tbl (id int(11) NOT NULL AUTO_INCREMENT,commodity_code varchar(255) DEFAULT NULL,count int(11) DEFAULT 0,PRIMARY KEY (id),UNIQUE KEY (commodity_code) ) ENGINEInnoDB DEFAULT CHARSETutf8;DROP TABLE IF EXISTS order_tbl; CREATE TABLE order_tbl (id int(11) NOT NULL AUTO_INCREMENT,user_id varchar(255) DEFAULT NULL,commodity_code varchar(255) DEFAULT NULL,count int(11) DEFAULT 0,money int(11) DEFAULT 0,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;DROP TABLE IF EXISTS account_tbl; CREATE TABLE account_tbl (id int(11) NOT NULL AUTO_INCREMENT,user_id varchar(255) DEFAULT NULL,money int(11) DEFAULT 0,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;Step 5: 启动 Seata-Server 服务 下载服务器软件包将其解压缩。 Usage: sh seata-server.sh(for linux and mac) or cmd seata-server.bat(for windows) [options]Options:--host, -hThe host to bind.Default: 0.0.0.0--port, -pThe port to listen.Default: 8091--storeMode, -mlog store mode : file、dbDefault: file--helpe.g.sh seata-server.sh -p 8091 -h 127.0.0.1 -m file
http://wiki.neutronadmin.com/news/308054/

相关文章:

  • xxx网站建设规划php网站开发学校
  • 外贸网站的公司介绍做盈利网站怎么备案
  • 南京市住房和城乡建设厅网站爬虫网站怎么做
  • 湖南网页设计培训网站建设房屋经纪人网站端口怎么做
  • 如何让商家建设网站嘉兴网站建设方案托管
  • 扬中本地网站网站显示wordpress
  • 个人站长适合做什么网站做外贸主页网站用什么的空间好点
  • 做课件挣钱的网站做景观园林的网站是
  • 惠州网络公司网站建设网站娱乐一条龙搭建
  • php的网站首页图片点击率如何提高
  • 苏州企业门户网站网页设计购物网站模板
  • 用asp做网站的流程商贸有限公司企业简介
  • 无锡网站开发平台产品外观设计用什么软件
  • 建设租房信息网站站长工具永久更新
  • 公司网站建设推广wordpress头像官网
  • 与客户沟通网站建设的技巧wordpress教程 chm
  • 注销网站 注销主体门户网站 特点
  • 个人网站引导页源码用dw制作html简单网页制作
  • 公司需要做网站需要什么流程淘宝客网站主题模版
  • 网站开发服务合同搜索引擎广告推广
  • 昆山小程序制作seo怎么才能做好
  • 建站官网郴州市建设局网站节能科
  • 中文 网站模板兴义网络推广
  • 交互性强的网站win7版本的wordpress
  • 做一个网站开发要多少钱wordpress获取菜单链接
  • 东莞建设通网站新乡外贸网站建设
  • 微信官方网站注册淄博市建设业协会网站
  • 做字素的网站ozon电商平台如何入驻
  • 金融网站策划方案wordpress 添加下载按钮
  • 怎么做网站实惠音乐网站怎么做无线增值业务