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

网站建设行业细分做字幕网站

网站建设行业细分,做字幕网站,编辑制作网页的基础是,wordpress重新生成永久链接本文来自 Apache Seata官方文档#xff0c;欢迎访问官网#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档#xff0c;欢迎访问官网#xff0c;查看更多深度文章。 Apache Seata 高可用部署实践 Seata 高可用部署实践 使用配置中心和数据库来实现 Seata 的高…本文来自 Apache Seata官方文档欢迎访问官网查看更多深度文章。 本文来自 Apache Seata官方文档欢迎访问官网查看更多深度文章。 Apache Seata 高可用部署实践 Seata 高可用部署实践 使用配置中心和数据库来实现 Seata 的高可用以 Nacos 和 MySQL 为例将cloud-seata-nacos应用部署到 Kubernetes 集群中 该应用使用 Nacos 作为配置和注册中心总共有三个服务: order-service, pay-service, storage-service, 其中 order-service 对外提供下单接口当余额和库存充足时下单成功会提交事务当不足时会抛出异常下单失败回滚事务 准备工作 需要准备可用的注册中心、配置中心 Nacos 和 MySQL通常情况下注册中心、配置中心和数据库都是已有的不需要特别配置在这个实践中为了简单只部署单机的注册中心、配置中心和数据库假设他们是可靠的 部署 Nacos 在服务器部署 Nacos开放 8848 端口用于 seata-server 注册服务器地址为 192.168.199.2 docker run --name nacos -p 8848:8848 -e MODEstandalone nacos/nacos-server部署 MySQL 部署一台MySQL 数据库用于保存事务数据服务器地址为 192.168.199.2 docker run --name mysql -p 30060:3306-e MYSQL_ROOT_PASSWORD123456 -d mysql:5.7.17部署 seata-server 创建seata-server需要的表 具体的 SQL 参考 script/server/db这里使用的是 MySQL 的脚本数据库名称为 seata 同时也需要创建 undo_log 表 可以参考 script/client/at/db/ 修改seata-server配置 将以下配置添加到 Nacos 配置中心具体添加方法可以参考 script/config-center service.vgroupMapping.my_test_tx_groupdefault store.modedb store.db.datasourcedruid store.db.dbTypemysql store.db.driverClassNamecom.mysql.jdbc.Driver store.db.urljdbc:mysql://192.168.199.2:30060/seata?useUnicodetrue store.db.userroot store.db.password123456部署 seata-server 到 Kubernetes seata-server.yaml 需要将 ConfigMap 的注册中心和配置中心地址改成相应的地址 apiVersion: v1 kind: Service metadata:name: seata-ha-servernamespace: defaultlabels:app.kubernetes.io/name: seata-ha-server spec:type: ClusterIPports:- port: 8091protocol: TCPname: httpselector:app.kubernetes.io/name: seata-ha-server---apiVersion: apps/v1 kind: StatefulSet metadata:name: seata-ha-servernamespace: defaultlabels:app.kubernetes.io/name: seata-ha-server spec:serviceName: seata-ha-serverreplicas: 3selector:matchLabels:app.kubernetes.io/name: seata-ha-servertemplate:metadata:labels:app.kubernetes.io/name: seata-ha-serverspec:containers:- name: seata-ha-serverimage: docker.io/seataio/seata-server:latestimagePullPolicy: IfNotPresentenv:- name: SEATA_CONFIG_NAMEvalue: file:/root/seata-config/registryports:- name: httpcontainerPort: 8091protocol: TCPvolumeMounts:- name: seata-configmountPath: /root/seata-configvolumes:- name: seata-configconfigMap:name: seata-ha-server-config--- apiVersion: v1 kind: ConfigMap metadata:name: seata-ha-server-config data:registry.conf: |registry {type nacosnacos {application seata-serverserverAddr 192.168.199.2}}config {type nacosnacos {serverAddr 192.168.199.2group SEATA_GROUP}}部署 kubectl apply -f seata-server.yaml部署完成后会有三个 pod kubectl get pod | grep seata-ha-serverseata-ha-server-645844b8b6-9qh5j 1/1 Running 0 3m14s seata-ha-server-645844b8b6-pzczs 1/1 Running 0 3m14s seata-ha-server-645844b8b6-wkpw8 1/1 Running 0 3m14s待启动完成后可以在 Nacos 的服务列表中发现三个 seata-server 的实例至此已经完成 seata-server 的高可用部署 查看服务日志 kubelet logs -f seata-ha-server-645844b8b6-9qh5j[0.012s][info ][gc] Using Serial 2020-04-15 00:55:09.880 INFO [main]io.seata.server.ParameterParser.init:90 -The server is running in container. 2020-04-15 00:55:10.013 INFO [main]io.seata.config.FileConfiguration.init:110 -The configuration file used is file:/root/seata-config/registry.conf 2020-04-15 00:55:12.426 INFO [main]com.alibaba.druid.pool.DruidDataSource.init:947 -{dataSource-1} inited 2020-04-15 00:55:13.127 INFO [main]io.seata.core.rpc.netty.RpcServerBootstrap.start:155 -Server started 其中{dataSource-1} 说明使用了数据库并正常初始化完成 查看注册中心此时seata-serve 这个服务会有三个实例 部署业务服务 创建业务表并初始化数据 具体的业务表可以参考 cloud-seata-nacos/README.md 添加 Nacos 配置 在 public 的命名空间下分别创建 data-id 为 order-service.properties, pay-service.properties, storage-service.properties 的配置内容相同需要修改数据库的地址、用户名和密码 # MySQL spring.datasource.urljdbc:mysql://192.168.199.2:30060/seata?useUnicodetruecharacterEncodingutf8allowMultiQueriestrueuseSSLfalse spring.datasource.usernameroot spring.datasource.password123456 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver # Seata spring.cloud.alibaba.seata.tx-service-groupmy_test_tx_group部署服务 通过 application.yaml 配置文件部署服务需要注意的是修改 ConfigMap 的 NACOS_ADDR为自己的 Nacos 地址 apiVersion: v1 kind: Service metadata:namespace: defaultname: seata-ha-servicelabels:app.kubernetes.io/name: seata-ha-service spec:type: NodePortports:- port: 8081nodePort: 30081protocol: TCPname: httpselector:app.kubernetes.io/name: seata-ha-service--- apiVersion: v1 kind: ConfigMap metadata:name: seata-ha-service-config data:NACOS_ADDR: 192.168.199.2:8848--- apiVersion: v1 kind: ServiceAccount metadata:name: seata-ha-accountnamespace: default--- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata:name: seata-ha-account roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin subjects:- kind: ServiceAccountname: seata-ha-accountnamespace: default--- apiVersion: apps/v1 kind: Deployment metadata:namespace: defaultname: seata-ha-servicelabels:app.kubernetes.io/name: seata-ha-service spec:replicas: 1selector:matchLabels:app.kubernetes.io/name: seata-ha-servicetemplate:metadata:labels:app.kubernetes.io/name: seata-ha-servicespec:serviceAccountName: seata-ha-accountcontainers:- name: seata-ha-order-serviceimage: registry.cn-qingdao.aliyuncs.com/hellowoodes/seata-ha-order-service:1.1imagePullPolicy: IfNotPresentenv:- name: NACOS_ADDRvalueFrom:configMapKeyRef:key: NACOS_ADDRname: seata-ha-service-configports:- name: httpcontainerPort: 8081protocol: TCP- name: seata-ha-pay-serviceimage: registry.cn-qingdao.aliyuncs.com/hellowoodes/seata-ha-pay-service:1.1imagePullPolicy: IfNotPresentenv:- name: NACOS_ADDRvalueFrom:configMapKeyRef:key: NACOS_ADDRname: seata-ha-service-configports:- name: httpcontainerPort: 8082protocol: TCP- name: seata-ha-storage-serviceimage: registry.cn-qingdao.aliyuncs.com/hellowoodes/seata-ha-storage-service:1.1imagePullPolicy: IfNotPresentenv:- name: NACOS_ADDRvalueFrom:configMapKeyRef:key: NACOS_ADDRname: seata-ha-service-configports:- name: httpcontainerPort: 8083protocol: TCP通过以下命令将应用部署到集群中 kubectl apply -f application.yaml然后查看创建的 podseata-ha-service 这个服务下有三个 pod kubectl get pod | grep seata-ha-serviceseata-ha-service-7dbdc6894b-5r8q4 3/3 Running 0 12m待应用启动后在 Nacos 的服务列表中会有相应的服务 此时查看服务的日志会看到服务向每一个 TC 都注册了 kubectl logs -f seata-ha-service-7dbdc6894b-5r8q4 seata-ha-order-service查看任意的 TC 日志会发现每一个服务都向 TC 注册了 kubelet logs -f seata-ha-server-645844b8b6-9qh5j测试 测试成功场景 调用下单接口将 price 设置为 1因为初始化的余额为 10可以下单成功 curl -X POST \http://192.168.199.2:30081/order/placeOrder \-H Content-Type: application/json \-d {userId: 1,productId: 1,price: 1 }此时返回结果为 {success:true,message:null,data:null}查看TC 的日志事务成功提交 查看 order-service 服务日志 测试失败场景 设置 price 为 100此时余额不足会下单失败抛出异常事务会回滚 curl -X POST \http://192.168.199.2:30081/order/placeOrder \-H Content-Type: application/json \-d {userId: 1,productId: 1,price: 100 }查看 TC 的日志 查看服务的日志 多次调用查看服务日志发现会随机的向其中某台TC发起事务注册当扩容或缩容后有相应的 TC 参与或退出证明高可用部署生效
http://www.hkea.cn/news/14397570/

相关文章:

  • 整屏网站模板海外网站如何做用户实名认证
  • 长沙网站制作哪长春网站制作培训
  • 沈阳网站建设求职简历摇钱树手机论坛网站
  • 重庆城乡规划和建设局网站不合理的网站
  • 珠海手机建站模板wordpress添加footer
  • 浦东新区专业网站建设网站如何做绿标
  • 一站式网站建设电话海口高风险地区
  • 网站个人主页教育培训学校
  • 外贸网站翻墙做广告关键词搜索爱站网
  • 政法队伍建设网站主要内容wordpress 页面排序
  • 网站建设动态代码口碑好的定制网站建设制作商
  • 如何鉴赏网站论文百度点击率排名有效果吗
  • 男女做网站网站建设作业百度云资源
  • 权威的大连网站建设网页设计结构
  • 海南做网站的公司哪家好苏州高新区网页设计
  • 枣庄高端网站定制网站源码下载了属于侵权吗
  • 大同市住房城乡建设网站怀柔谁会网站开发
  • 社交网站的优点和缺点无货源电商选品软件
  • 虚拟云服务做网站百度关键词排名用什么软件
  • 重庆渝中区企业网站建设哪家好软件公司名字
  • 响应式网站设计稿4399曾经很火的网页游戏
  • 柳河县建设局网站网站单页模板怎么安装
  • wordpress网站如何搬家怎么拥有自己的小程序
  • 小型网站开发时间周期wordpress主题织梦
  • 有那些专门做职业统计的网站洞头区小程序模板源代码
  • 国外自建站怎么样世界杯现场直播
  • 网站源码交易平台台州建设监理协会网站
  • 软件开发和网站建设的区别图纸之家
  • 连云港做网站制作关于婚纱摄影的网站模板
  • 建设银行什么网站可买手表竞价账户托管公司哪家好