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

上海 网站建设公司商务型网站建设

上海 网站建设公司,商务型网站建设,珠海建站,手机网页游戏大全一个基于go-zero框架的微服务影院票务系统cinema-ticket 前言 项目基本介绍 项目开源地址#xff1a;butane123/cinema-ticket: 一个基于go-zero框架的微服务影院票务系统cinema-ticket (github.com) 这是一个微服务影院票务系统#xff0c;基于go-zero框架实现#xff0c…一个基于go-zero框架的微服务影院票务系统cinema-ticket 前言 项目基本介绍 项目开源地址butane123/cinema-ticket: 一个基于go-zero框架的微服务影院票务系统cinema-ticket (github.com) 这是一个微服务影院票务系统基于go-zero框架实现官网go-zero帮助文档 注意本项目目前仍在制作中可以看到一些图、许多文字介绍部分什么的都还没画这段时间作者会继续开搞的 开发背景 系统设计 项目架构图 业务架构图 项目技术栈开发环境 服务端框架go-zero数据库Mysql缓存Redis本地环境Golang 1.18容器管理Docker Compose消息队列Kafka(、Zookeeper)分布式系统管理Etcd分布式事务DTM服务监控Prometheus、Grafana链路追踪Jaeger 使用的技术依赖有点多强烈建议使用docker配置虚拟环境不过如果只是想要先跑动项目的话只要配置redis、mysql、etcd就可以了 其他小插件说明 使用JWT Token工具生成了接口验证Auth的token保证用户数据传输的安全 使用Squirrel工具在go-zero框架中简化了Sql语句的编写 使用jordan-wright写的email工具进行邮箱验证码的发送 使用ApiFox工具生成了在根目录下的接口测试导出文件cinema-ticket.openapi.json标准是openapi-3.0.1版本 使用Goctl-Swagger插件可以自行生成用于接口介绍的swagger网页 项目目录树介绍 cinema-ticket ├─code //代码根目录 │ ├─common //通用工具包 │ │ ├─errorx │ │ ├─kqueue │ │ ├─response │ │ ├─scripts │ │ └─utils │ └─service //服务层 │ ├─advert //广告服务 │ │ ├─api │ │ ├─model │ │ └─rpc │ ├─comment //评论服务 │ │ ├─api │ │ ├─model │ │ └─rpc │ ├─film //电影服务 │ │ ├─api │ │ ├─model │ │ └─rpc │ ├─order //订单服务 │ │ ├─api │ │ ├─model │ │ ├─mq │ │ └─rpc │ ├─pay //支付流水服务 │ │ ├─api │ │ ├─model │ │ └─rpc │ └─user //用户服务 │ ├─api │ ├─model │ └─rpc └─images //ReadMe介绍图片微服务内容拆分 该项目的业务逻辑思想来源于当前市场上的其他主流票务系统。 advert 广告服务 商业广告和普通公告相关信息和操作等服务。 comment 评论服务 用户评论相关信息和操作等服务。 根据用户的购买记录推送广告/消息推送系统公告。 film 电影服务 电影相关信息和操作等服务。 order 订单服务 用户订单相关信息和操作等服务。 pay 支付流水服务 支付流水用户创建订单后会生成一份支付流水保存在库中然后当用户支付后会进行支付回调用实际支付的价格判断是否与库中的支付流水价格等信息相同我们就可以以此来判断支付是否成功。 user 用户服务 普通用户、管理员相关信息和操作等服务。 部分接口特别说明 /pay/callback 支付回调接口 支付回调是连接订单和支付两个模块的桥梁先根据订单创建一份支付流水存入数据库然后回调函数执行时会把支付的金额与支付流水中的金额进行比较判断若符合则判断订单生效、流水完成否则不生效。 支付回调应用场景 例 用户支付成功-通过回调判断-数据库操作设置订单已支付流水完成 用户支付失败或取消支付-通过回调判断-跳转到支付失败页 部分项目技术说明 消息队列 本项目使用吞吐量大、可用性高的Kafka作为消息队列。go-zero框架原生支持Kafka可以简化许多配置。 分布式事务 本项目在进行不同服务的DML操作使用分布式事务保证数据一致性。DTM是一个开源的实现分布式事务的工具基于SAGA 协议。 官网DTM架构 | DTM开源项目文档 本项目中的DTM部分子事务屏障日志效果如下 服务监控 本项目使用Prometheus工具统计各个APi服务、RPC各自的监控数据并用Grafana对数据指标进行表格化展示。 部分效果图如下 总览 api监控效果 rpc监控效果 Grafana的折线图效果 链路追踪 本项目使用Jaeger工具实现链路追踪。Jaeger是一个开源的分布式追踪系统使用这个工具可以轻松地对api、rpc进行链路追踪。 部分效果图如下 链路追踪效果 如何运行该系统 先做好准备工作 填写工具类中的设置常量 为系统的验证码发送邮箱申请授权码并填写EmailAuthCode等值。注意邮箱要开启SMTP功能服务。 再运行基础服务 运行etcd并配置相应的地址和端口号运行redis并配置相应的地址和端口号…同上不再赘述配置Mysql等在上面技术栈提及的相应技术 最后运行项目 Linux环境直接按顺序运行脚本startRpc.sh、startMQ.sh、start.sh文件即可。Windows环境可以选择运行六个服务中的共9个yaml文件即可。Linux环境也可以通过该方式运行项目 尚未完成的 增加管理员模块在原用户模块上修改 增加两个模块/服务广告模块advert和评论模块comment 修改id为分布式全局统一id 实现查询时的缓存优化并解决带来的缓存击穿、缓存穿透等问题 主要针对于对普通用户可能查询量大的电影服务和订单服务 基于分布式锁和消息队列优化用户下单业务 完善手机验证码功能 考虑增填用户签到、优惠券等功能模块 最后 本项目是作者在学习golang框架自建并学习的项目。在构造并完善该项目的过程中还是学习到了很多内容的。 若有其他问题的欢迎指出。
http://www.hkea.cn/news/14512393/

相关文章:

  • 天津建设网站培训扬州又出现一例
  • 自己做的网站如何发布建设网站需要准备哪些内容
  • 如何修改网站内容石家庄市环保局网站建设项目备案系统
  • 北京网站开发公司电话企业网站建设公司公司
  • 冬季什么行业做网站比较多东莞网站建设 光龙
  • 网站备案程序权威发布型舆情回应
  • 电影网站开发源代码购物网站建设与实现
  • 苏州市住房和建设局网站三类人员 网站开发
  • 一个网站做十个二级域名广告去哪个网站做
  • 网站需要审核吗十大高端网站定制设计师
  • 易安卓做网站电子商务网站建设收益举例
  • 公司o2o网站建设怎么到百度做网站
  • 合肥哪里有建站公司wordpress在页面里写文章
  • 网站建设与管理试卷答案外贸建站seo
  • 百度官网网站首页吉安市网站制作
  • 自己做网站下载怎么动画设计实训报告
  • 汕头网站制作推荐家居网站建设总结
  • 常德网站建设渠道品牌策划案范本
  • 物业公司名字大全免费seo做的好的网站有哪些
  • 网站推广有哪些举措国外外贸网站有哪些
  • 装修公司做宣传在哪个网站公司宣传片的拍摄
  • 西安公积金 网站建设邮箱或企业邮箱
  • 展示型网站建设报价衡水冀县做网站
  • 网站建设与管理课后总结郑州制作网站哪家好
  • 5G网站建设呼市互联网公司排名
  • 网站 提交入口iis怎么搭建asp网站
  • 孝南区城乡建设局网站名片设计模板
  • 重庆网站首页排名公司山东省建设厅电工证查询网站
  • 怎么创建卡密网站建设一个连接的网站
  • 网站制作代码大全做网站服务器用国外的