随笔分类 - 架构
摘要:重复提交,这是一直以来都会存在的问题,当在网站某个接口调用缓慢的时候就会有可能引起表单重复提交的问题,不论form提交,还是ajax提交都会有这样的问题,最近在某社交app上看到这么一幕,这个团队没有做重复提交的验证,从而导致了数据有很多的重复提交,在这里我们不讨论谁对谁错,问题解决即可。 首先的一
阅读全文
摘要:最近很多人都在谈论幂等性,好吧,这回我也来聊聊这个话题,光看着俩字,一开始的确有点一头雾水,语文不好嘛,词太专业嘛,对吧 现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful
阅读全文
摘要:单点登录以及权限,在很早之前都有写过,不过都比较简单,今天就具体说一下,以及下一步要做的 1、web单系统应用 早期我们开发web应用都是所有的包放在一起打成一个war包放入tomcat容器来运行的,所有的功能,所有的业务,后台管理,门户界面,都是由这一个war来支持的,这样的单应用,也称之为巨石应
阅读全文
摘要:cookie,很多网站都会用的一个机制,可以保存用户的相关信息,token等等,很多人熟知的应该是第一方cookie,可以针对二级域名进行信息的保存,如果遇到跨域的情况,那么第一方cookie是没有用的,因为他做不到跨域。但是可以利用第三方cookie来实现这一的机制,第三方cookie不仅可以存储
阅读全文
摘要:最近一直在搞邮件这块,本来我们邮件发送是用的腾讯免费的企业邮箱,邮件功能没有问题,但是由于邮件的限制,如下: 这些限制导致我们的部分客户是收不到邮件的,哪怕付费,这样的固定频率限制也是无法解决的,可以说我们国内的邮件厂商都是这样,而国外的却要收费。 那么问题来了,如何突破发送邮件的频率限制? 1.
阅读全文
摘要:要知道,app调用支付后,微信会发送一个异步通知给后台,同时后台需要调用查询微信后台这笔订单的支付结果以及金额,这是一个并行操作,需要注意的是微信后台收到的金额和订单金额需要进行比对,为了防止钓鱼,所以这个查询是有必要的,必须匹配:收到的到账金额 >= 订单金额(我有一哥们他们的app是没有这步操作
阅读全文
摘要:要知道,如今很多平台的接口都是可以同时被门户网站,手机端,移动浏览器访问,因为接口是通用的,而为了安全起见,有些接口都会设置一个门槛,那就是限制访问次数,也就是在某一时间段内不能过多的访问,比如登录次数限制,在一些金融理财或者银行的接口上比较常见,另外一些与用户信息有关的接口都会有一个限制门槛 那么
阅读全文
摘要:前一篇文章的时序图中说了,app端调用微信支付必须先由后台调用微信后台生成预付单,再构建参数给手机端,而数据的构建要以xml形式,那么看看代码具体实现吧,代码已经精简过了,自己的业务已经除去,精简的代码附上注释是可以直接调用微信后台的 这个是微信所要接受的参数,咱们可以把它构建成一个entity
阅读全文
摘要:之前有写过数据字典的相关业务是怎么做的,有朋友留言问如何读取,其实很简单,最简单的方式就是每次读取数据库,但是这样的做法很不好,因为数据字典在数据库中属于冷资源,不是经常会变得数据,这样的数据用缓存来做是最好的,在访问数据库前就直接拦截了去数据库的请求,这样减少数据库的压力,毕竟很多页面对于数据字典
阅读全文
摘要:之前有讲到过数据字典,什么是数据字典,用来干啥的,这个不细说了,今天来说说如何实现数据字典功能 无非就是维护数据字典,对数据字典对象进行增删改成,曾经我写过一个页面跳转形式的,十分简单,不说了,今天用JS来实现,当然JS也要面向对象,不论是属性还是函数,都要当成对象来对待! 先来看看数据库表结构,根
阅读全文
摘要:先说说什么是数据字典,这个玩意一般不太会解释,举个栗子吧~ 每个系统都会有用户表,性别:男(1)女(0) 另外我们做物流的会涉及到车型:卡车(1),轿车(2),挂车(3) 货物类型:危险品(1),普通货物(2),液态物品(3) 这些就是属于数据字典,在平时的表设计中,我们会把他们分别作为一张表来存储
阅读全文
摘要:目前常用的数据源主要有c3p0、dbcp、proxool、druid,先来说说他们Spring 推荐使用dbcp;Hibernate 推荐使用c3p0和proxool1、 DBCP:apacheDBCP(DataBase connection pool)数据库连接池。是apache上的一个 java
阅读全文
摘要:1、拆分消息队列 原本在登录注册的时候需要使用到短信发送,这个需要使用到消息队列,当时只放入在项目中 现在的新需求在各个环节都有不同的消息推送,短息服务,以及日志保存,这些索性单独拎出来作为一个服务提供 (消息队列采用RabbitMQ,各位看管有兴趣可以参考之前发的文章,另外MQ也有ActiveMQ
阅读全文
摘要:本文适用于所有键盘类职业,比如程序员,比如作家,比如编辑,比如水军,等等... 程序员买得起键盘吗?买得起。 程序员买得起好的机械键盘吗?也买得起。 不过大部分of他们是不会很快决定买的,包括我。因为打从一开始接触电脑,不管是家里还是学校甚至网吧,我们用的键盘也就是随便玩玩的,并不会多在意,而等到自
阅读全文
摘要:上周的产品基本定型,唯独订单部分还是有待讨论,其余部分可以开展,由于一期版本是给app提供服务 所以本周工作主要是: 1、根据产品原型设计数据库,审核并定稿形成第一版数据库设计: er-studio数据库设计、表设计 mysql navicat 1.2、根据数据库设计进行模块划分,任务分配,协调人员
阅读全文
摘要:对于现在的分布式开发, 一套机子要跑多个服务,开多个虚拟机,数据库,redis集群,solr集群,内存占用率动不动上10g,以最低适用的机子配置给开发员,应该可行了吧。。。 CUP肯定得i7 内存8g,个人认为偏少,建议12g,最好16g。。 接口方面主要是能够额外连接显示器,实现双屏开发, 增加开
阅读全文
摘要:tomcat7部署,项目发布有很多种方式 1. 增量发布,把修改过得那些文件手动上传至tomcat,*.class *.xml 等等,这样的缺点非常大,需要断开tomcat,记住那些你修改过得文件,很繁琐,我曾经经历过,值得吐槽 2. tomcat控制台GUI热部署,就是每次打完war包,手动上传到
阅读全文
摘要:SSO,Single Sign On,也就是单点登录,保证一个账户在多个系统上实现单一用户的登录 现在随着网站的壮大,很多服务会进行拆分,会做SOA服务,会使用dubbo做微服务,或者简单的小型分布式, 这样在服务与服务之间,或者系统与系统之间都是通过HTTP或者restful来进行通信的, 在以往
阅读全文
摘要:上篇文章搭建了zookeeper集群 那好,今天就可以搭建solr搜服服务的集群了,这个和redis 集群不同,是需要zk管理的,作为一个代理层 安装四个tomcat,修改其端口号不能冲突。8080~8083 如果是正式环境下,则分别使用4台linux作为节点 修改server.xml文件修改端口号
阅读全文
摘要:Redis真是好,其中的键值用起来真心强大啊有木有, 之前的文章讲过搭建了redis集群 那么咋们该如何调用单机版的redis以及集群版的redis来使用缓存服务呢? 先讲讲单机版的,单机版redis安装非常简单,不多说了,直接使用命令: 1 [root@nginx bin]# ./redis-se
阅读全文
浙公网安备 33010602011771号