自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

daxiaoge111的博客

to be a better man

  • 博客(26)
  • 问答 (1)
  • 收藏
  • 关注

原创 调用方系统禁止依赖传递后如何排查本系统所缺少依赖

调用方系统禁止依赖传递后如何排查本系统所缺少依赖

2023-01-17 16:04:42 872

原创 微信小程序实现登录及支付后台java实现流程

待续

2021-09-11 09:59:53 234 1

原创 (转载)如何确保消息100%投递成功并被消费

一、先扔一张图说明:本文涵盖了关于RabbitMQ很多方面的知识点, 如: 消息发送确认机制 消费确认机制 消息的重新投递 消费幂等性, 等等->幂等性:一个请求,不管重复来多少次,结果是不会改变的。 每个消息都会有唯一的消息id。 这些都是围绕上面那张整体流程图展开的, 所以有必要先贴出来, 见图知意二、实现思路 简略介绍1...

2019-12-28 09:42:25 648

原创 JDK8 stream 在项目中的应用

JDK8 stream会将复杂的代码实现用一行代码搞定。1、将集合的某一个属性提取出来组成另一个集合List<Integer> resultList = list.stream().map(Object::getMaintain_id).collect(Collectors.toList());2、将集合按照集合里的某一属性转换成mapMap<Integer,...

2019-12-28 09:36:07 366

原创 高并发MYSQL学习

一、MYSQL服务器逻辑架构图1、第一层:客户端2、第二层:mysql服务功能,查询、分析、优化、内置函数3、第三层:存储引擎,第二层通过api与第三层交互每个客户端在连接mysql服务器时,都会在mysql服务器的线程池中分配一个自己的线程,每一个增删改查的操作都会在这线程中进行,cpu会给这个线程分配时间片,mysql服务器会缓存每一个服务器端的线程。两种锁:共享锁(读...

2019-08-29 16:08:35 125

原创 spring Aop 底层用了动态代理还是 cglib

一、简介首先,Spring AOP的底层实现有两种方式:一种是JDK动态代理,另一种是CGLib的方式。JDK动态代理主要涉及java.lang.reflect包下边的两个类:Proxy和InvocationHandler。其中,InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑,并通过反射机制调用目标类的代码,动态地将横切逻辑和业务逻辑贬值在一起。JDK动态...

2019-08-17 16:14:33 947 1

原创 解决数据库时间与jre new Date()时间不一致

最近遇到一个问题,就是在代码里order.setCreateDate(new Date())后,将此作为参数传入到mybatis的时候,插入到数据库的时间比当前时间晚了11个小时,服务和数据库是在两台不同的服务器上,但是两个的时间都是同一时间。解决方案:第一步:直接在插入mybatis时候,sql语句用now()函数作为当前时间。最好不要用new Date().以为两台代码部署服务器和数据...

2019-08-02 16:19:29 2447

原创 跨域单点登录分析

1、什么是单点登录:

2019-07-17 13:41:01 146

原创 Http和Rpc重试机制

重试机制定义:重试机制是在设置的超时时间到了之后没有返回结果或者服务端出现异常后服务调用端进行再次调用。首先,不是所有接口都适合重试,如果一个服务是不等幂,那么不适合重试的机制,因为会存在重复提交的问题,否则是可以进行重试的。比如提交一个订单的接口是不能进行重试的,而把订单信息推给wms系统接口是可以重试的。一般两个部署在不同网段的系统不能通过dubbo的rpc调用,只能用最原始的ht...

2019-07-17 11:00:18 1004

原创 分布式共享session详解

未完待续

2019-07-10 17:39:26 176

原创 Nginx实现图片防盗链

前提:如果图片放在阿里云服务器,那么不需要考虑图片防盗,因为阿里云有相应的服务和安全防范措施,本文是基于自己的图片服务器配置Nginx。1、两台服务器:A:192.168.66.231 B:192.168.66.2322、Nginx 防盗链原理:Nginx防盗链原理就是在Nginx图片服务器上,配置好自己内部服务器的所有地址,相当于放到白名单里,其他的外部地址则在访问Nginx时会...

2019-07-09 16:19:36 1821

翻译 Spring Boot Application去XML配置

“Spring项目大量的烂用XML”。Spring Boot 简介1 .Spring 去 XML配置简史Spring IOC有一个非常核心的概念——Bean。由Spring容器来负责对Bean的实例化,装配和管理。Spring可以从XML配置文件中读取任何类型的元数据并自动转换成相应的Java代码,把几乎所有的业务类都以Bean的形式配置在XML文件中,造成了大量的XML文件。使用XM...

2019-07-09 10:55:29 1340

原创 Springboot内置tomcat详解

待补充

2019-07-08 17:43:43 1159 2

转载 SQL优化

网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where ...

2019-07-03 11:17:35 98

原创 电商支付平台开发--支付宝

未完待续

2019-07-03 10:13:41 349

原创 浅析正向代理和反向代理

正向代理  正向代理是客户端发出请求,由代理访问互联网。客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。例如:我访问不了A网站,但是我能访问一个代理服务器,但这个代理服务器能访问A网站。我可以在本地设置正向代理服务器,配置其ip。配置好就可以访问代理服务器,告诉他我需要A网站的内容,代理服务器就会去取回来返给我。网站只在代理服务器来取内容的时...

2019-06-27 11:33:45 149

原创 MYSQL优化

电商响应速度主要是对数据库的性能,随着并发量的增加,sql的优化成为电商上线的前的一个重要任务,下面跟大家分享一个优化方法:以下是订单系统查询订单数量的sql:SELECT COUNT(DISTINCT order_base.order_id)FROM order_base INNER JOIN order_ext ON order_base.order_id = order_ex...

2019-06-26 10:37:45 156

原创 ThreadLocal解析

拿卖票举例子——开8个窗口100张票,每张票均有唯一编号。1、global+lock那种方式是:100张票放一起,有人在其中一个窗口买票,那窗口就来拿一张卖给他。最后,每个窗口卖出去几张票是不确定的。等到所有票都卖完了,售票员同时下班回家。2、local这种方式是:把票分摊到每个窗口,每个窗口最终卖出的票数是固定。等到了卖票时间,各个窗口同时开始卖票。票卖完的窗口,售票员可以提前下班回...

2019-06-25 16:34:03 151

原创 Springboot事务如何控制

Spring Boot 使用事务方法:一、事务管理器设置:(意思是要想@Transactional注解起作用,必须事务管理器开启事务支持)1、使用 @EnableTransactionManagement 开启事务支持,然后在Service方法上添加注解 @Transactional 。2、若添加spring-boot-starter-jdbc 依赖,框架会默认注入 DataSou...

2019-06-25 16:02:19 4860 1

原创 springboot使用mybatis实现多数据源动态切换

项目架构:springboot+dubbo+zookeeper电商订单项目分正向和逆向两个部分:其中正向数据库记录了订单的基本信息,包括订单基本信息、订单商品信息、优惠卷信息、发票信息、账期信息、结算信息、订单备注信息、收货人信息等;逆向数据库主要包含了商品的退货信息和维修信息。数据量超过500万行就要考虑分库分表和读写分离,那么我们在正向操作和逆向操作的时候,就需要动态的切换到相应的数据库,...

2019-06-22 17:22:00 479

转载 Java线程池ExecutorService的使用

开篇前,我们先来看看不使用线程池的情况:new Thread的弊端执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 newThread(newRunnable() { @Override publicvoidrun() { ...

2019-06-22 15:34:31 240

原创 电商平台之运费分摊算法

下单的过程中我们会根据配送方式的不同来计算相应的运费,并将每个商品分摊到的运费金额放到订单的items表里,如果按照相应的比例进行分摊,就会存在四舍五入的小数分摊不均,比如10元运费3件商品,每个就会分摊到3.33,这样就会有0.01的误差存在,为了避免这样的误差存在,我们会记录下前几次分摊到的金额值总和,最后一个用总运费金额减去之前的总和,这样减避免了误差的存在。订单发生退货的时候就会根据退货数...

2019-06-22 11:26:03 6765

原创 系统间http调用方法总结

toC端订单主要是面向客户,订单状态流包括:代付款,待审核,待配货,待出库,待发货,待收货,已收货待结算,订单成功,交易完成,交易关闭。

2019-06-21 17:42:37 395

原创 解决IDEA目录下新增module再次打开加载不出来问题

在svn上down到本地一个项目,然后用idea打开了,之后又在svn上新加了一个新的module,然后再打开idea发现打开的还是之前的那几个module,新增加的module在idea上没有被加载出来。解决方法如下:1、找到file->prject Structure2、找到module->+->import Module3、然后选择新增目录,impor...

2019-06-21 16:07:49 8781 3

原创 版本控制

svn版本控制总结:

2019-06-20 16:37:35 116

原创 电商订单生成方法

主流电商平台主要包括几大业务模块:即商品、交易、订单、支付、优惠卷、运费模板、促销、购物车、积分、开票、仓库、物流。本文主要讲述的是简易版的订单生成过程姑且叫基于数据库的消息队列,该方式适用于业务量不是很大时候使用,即网站开发初期。业务量大的话还是建议使用成熟的消息队列,比如rabbitMQ或者rocketMQ等。下面先简单的介绍下交易、订单部分。一、交易交易系统就是在提交订单的时候或通过...

2016-12-14 09:05:40 1074

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除