
后端java开发
張義帥
喜欢交朋友大家一起交流一下呢~
展开
-
Seata sage模式及ID发号器
Seata sage模式1.主要是通过状态机,流程去执行,状态机说白了,就是工作流,主要配置json文件,代码往下执行 也存在TCC模式中的问题,空回滚,悬挂问题,幂等性问题2.seata 3中模式的对比 AT模式,效率不高,事务的实时性比价好,使用比较简单,兼容所有的基于jdbc规范 的orm框架,RM是使用dataSourceProxy来做处理的 TCC模式,RM不需要代理数据源,跟TC通讯,注册分支事务,调用try方法 try接口主要做的事情,冻结资源,不是真正的去操作目...原创 2020-12-08 14:51:55 · 311 阅读 · 1 评论 -
这么详细的tomcat你值得拥有~
第一节 Tomcat 体系架构 什么是 Web 服务器? Web 服务器的定义 其实并没有标准定义。一般认为,Web 服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等 Web 客户端提供文 档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。。WEB 服务器的介绍 Web 服务器的特点。 1、服务器是一种被动程序:只有当 Internet 上运行其他计算机中的浏览器发出的请求时,服务器才会响应。 2、服务器一般使用 HTTP(超文本原创 2020-12-07 16:21:15 · 535 阅读 · 0 评论 -
RabbitMq 生成订单后续,简单说点
1.预生成订单id,订单信息存到redis中,订单id 返回给前端。提到吞吐量。2.消费到死信队列中的消息话,lua脚本库存+13.微信支付有预支付,先生成二维码,然后扫码支付。4.延迟队列->死信队列里面的消息是必须消费的,消费的时候去判断状态,未支付的话 库存+1。支付的话,不做什么操作。5.支付的话,微信是会有一个回调的,回调是会调用我们自己的系统的,去修改支付状态, 库存去真正的减1,同时还会去增加积分,发物流等等,这点涉及分布式事务的操作6.当微信回调的时候,有可能超时,...原创 2020-12-04 10:11:17 · 721 阅读 · 0 评论 -
RabbitMq 去下订单,这么多细节你不看吗?
先来个题外话~servlet 3.0规范1.其实提高并发请求,就是减少tomcat线程池中,线程的执行时间,说白了就是提高利用率。而servlet 3.0就是,一个用户请求过来了,访问servlet拿到一个线程之后去处理了业务逻辑,这时候业务逻辑块开启了 一个新的线程去处理自己的业务逻辑,处理完之后,在此调用 servlet.虽说次数增多了,但是两次时间都是比较短,整体的并发量也就上去了。rabbitMQ 下订单1.有两种模式,一种是推,一种是拉,默认是推,拉是,消息执行完主动去拉,...原创 2020-12-02 19:07:22 · 758 阅读 · 0 评论 -
扣减库存,redis你值得拥有
扯扯犊子并发知识点总结:1.秒杀,物理业务隔离,抽成单独的服务器2.接口设计,防止洪流访问数据库。3.加redis缓存。4.缓存雪崩,一个请求,多个key同时失效,避免同时失效。多个请求,一个key失效。加锁5.热点数据,缓存预热。6.超过10w+的时候,增加本地缓存ehchache,redis作为二级缓存7.缓存,ehcache,现在有了大堆得概念,毕竟是本地缓存,减少io,加快速度扣减库存逻辑,你值得拥有~1.基于DB做数据库的扣减库存2.基于redis扣减库存 incr.原创 2020-11-30 10:02:59 · 1051 阅读 · 0 评论 -
这么详细的docker你能不看吗?
DockerDocker简介文字描述的东西,百度去~Docker安装与启动(1)yum 包更新到最新sudo yum update(2)安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的sudo yum install -y yum-utils device-mapper-persistent-data lvm2(3)设置yum源为阿里云sudo yum-config-manager --.转载 2020-11-19 17:16:09 · 178 阅读 · 0 评论 -
秒杀系统的设计,你值得拥有
常见的解决方案:1.将秒杀系统独立部署,甚至使用独立域名,使其与网站完全隔离。物理业务隔离2.重新设计秒杀商品页面,不使用网站原来的商品详细页面,页面内容静态化,用户请求不需要经过应用服务3.因为秒杀新增的网络带宽,必须和运营商重新购买或者租借。为了减轻网站服务器的压力,需要将秒杀商品页面缓存在 CDN,同样需要和 CDN 服务商临时租借新增的出口带宽。秒杀架构原则1.尽量将请求拦截在系统上游,传统秒杀系统之所以挂,请求都压到了后端数据层,数据 读写锁冲突严重,并发高响应慢,..原创 2020-11-18 15:59:43 · 218 阅读 · 1 评论 -
Nacos 简单认识
Nacos 服务发现产品对比Nacos是阿里的一个开源产品,它是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。Nacos特性Nacos主要提供以下四大功能:服务发现与服务健康检查 Nacos使服务更容易注册,并通过DNS或HTTP接口发现其他服务,Nacos还提供服务的实时健康检查,以防 止向不健康的主机或服务实例发送请求。动态配置管理 动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重新 部署应用程序,这使配置的更改更加高效和原创 2020-09-01 09:06:50 · 636 阅读 · 0 评论 -
springmvc与struts2不同
1、springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器。 2、springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。 3、Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参原创 2017-10-17 16:15:19 · 222 阅读 · 0 评论