关闭

秒杀系统架构分析与实战

 https://www.cnblogs.com/andy-zhou/p/5364136.html 1 秒杀业务分析 正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货 秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高; 2 秒杀技术挑战 假设某...
阅读(24) 评论(0)

电商秒杀架构 各个具体场景及对应的解决方案

 电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因?  一、大规模并发带来的挑战  在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,...
阅读(393) 评论(0)

java 服务降级开关设计思路

 java 服务屏蔽开关系统,可以手工降级服务,关闭服务 基于spring AOP机制,可以在特殊情况下屏蔽相关service类的某些返回,并且支持定义默认返回结果,随机屏蔽某些异常服务。 通过启动一个内置的http server来监听外部指令。 对当前应用的影响。代码请查看 https://github.com/zhwj184/autoswitch 使用指南: 1.在sp...
阅读(44) 评论(0)

分布式集群系统下的高可用session解决方案

 目前,为了使web能适应大规模的访问,需要实现应用的集群部署. 而实现集群部署首先要解决session的统一,即需要实现session的共享机制。  目前,在集群系统下实现session统一的有如下几种方案: (1) 应用服务器间的session复制共享(如tomcat session共享) (2) 基于cache DB缓存的session共享 应用服务器间的ses...
阅读(22) 评论(0)

为什么我认为架构师需要坚持写代码?

 原文地址:https://timyang.net/tao/why-architect-need-programming/ 最近在高可用架构群、EGO会员群等多个场合,大家都在讨论架构师的能力的问题,架构师应该具备哪些能力?在面试时如何合适的评估一个架构师的能力? 架构师的两种类型 第一种是可以将业务实现的人,他可能需要整合公司不同部门的资源、解决不同技术模块整合、解决不同版本之间的兼...
阅读(16) 评论(0)

详解Spring事件驱动模型

 事件驱动模型简介 事件驱动模型也就是我们常说的观察者,或者发布-订阅模型;理解它的几个关键点: 首先是一种对象间的一对多的关系;最简单的如交通信号灯,信号灯是目标(一方),行人注视着信号灯(多方);当目标发送改变(发布),观察者(订阅者)就可以接收到改变;观察者如何处理(如行人如何走,是快走/慢走/不走,目标不会管的),目标无需干涉;所以就松散耦合了它们之间的关系。   ...
阅读(69) 评论(0)

Java String

String类型的深度解析 让我们从Java数据类型开始说起吧!Java数据类型通常(分类方法多种多样)从整体上可以分为两大类:基础类型和引用类型,基础类型的变量持有原始值,引用类型的变量通常表示的是对实际对象的引用,其值通常为对象的内存地址。对于基础类型和引用类型的细分,直接上图吧,大家看了一目了然。当然,下图也仅仅只是其中的一种分类方式。  (原文图丢失) 针对上面的图,有3...
阅读(128) 评论(0)

Java 视图

一、视图的概念   java中的视图,可以说其实就是一个具有限制的集合对象,只不过这里的不是集合对象,而是一个视图对象。例如:这里有一个Test类 Test[] tests = new Test[10]; List testList = Arrays.asList(tests);   这里的testList是一个视图对象,具有访问数组元素set,get的方法。但是如果调用改变数组的方...
阅读(67) 评论(0)

eclipse导入JDK源码

前言:这件事情的重要性不言而喻,对于学习和观摩优秀的代码非常的有用,我喜欢想看什么代码都能 Ctrl+鼠标一点 就能够看到,不过这个不常操作,在这里小记一笔,以备后用。(完全是傻瓜式的记录,就是怕自己还需要来回的找操作步骤!) 1:Window——Preferences   2:Java——Installed JREs——选中项目使用的JDK——Edit   3:选中rt.jar——S...
阅读(139) 评论(0)

项目开发性能优化注意事项

1) 充分合理利用已有的运算逻辑完成逻辑流的开发,以提高逻辑流处理的效率,以下为常见的原则: a) 处理数据库查询时,如果很确定需要查询哪些字段,建议使用查询指定字段的运算逻辑,而不是查询所有字段的运算逻辑,尤其在相应表包含的字段数很多而且数据量很大的情况下更应遵循本原则;比如多字段很多的表,可以建立多个不同名称的数据实体,访问字段少的用少量字段的数据实体,访问字段多的用字段多的数据实体来进行不...
阅读(118) 评论(0)

通过Spring Session实现Session集中管理

随着企业级JAVA应用的发展,目前这个领域已经出现了很大的革新,现代的发展趋势是微服务以及可水平扩展的原生云应用(Cloud native application)。在这样的发展趋势下,过去所使用的Session管理器的不足就暴露了出来。         Spring Session为企业级JAVA应用的Session管理带来了革新,使得以下功能更加容易实现:             ...
阅读(162) 评论(0)

使用Websphere的TPTP工具进行性能分析和监控

Websphere提供了一个TPTP(Test & Performance Tools Platform)工具,最新版本为4.5.0,可以进行强大的性能测试和分析工具,利用它,我们可以分析java代码的内存泄露分析、查找性能瓶颈、以及定位线程死锁等。 一、准备工作 1、下载TPTP工具 Websphere提供了一个TPTP Eclipse插件,可以到下面的网站进行下载。 h...
阅读(116) 评论(0)

dubbo源码编译和打包

本文以dubbo2.4.11源码编译和打包例 dubbo官网:http://dubbo.io/ 源码:https://github.com/alibaba/dubbo 用户指南:http://dubbo.io/User+Guide-zh.htm 开发指南:http://dubbo.io/Developer+Guide-zh.htm 按官方说明2.4.X是GA稳定版本,去https...
阅读(186) 评论(0)

Java Package.isAnnotationPresent()方法

Java Package.isAnnotationPresent()方法 Java Package.isAnnotationPresent()方法用法实例教程。方法返回true,如果指定类型的注释存在于此元素上, 否则返回false。这种方法的设计主要是为了方便访问标记注释 描述 java.lang.Package.isAnnotationPresent(Class annotati...
阅读(99) 评论(0)

静态分派与动态分派

方法解析     Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也有一部分方法的符号引用在类加载阶段或第一次使用时转化为直接引用,这种转化称为静态解析。这在前面的“Java内存区域...
阅读(77) 评论(0)

通过.frm和.ibd对mysql数据恢复

要看版本。高于5.5的,直接创建个结构一样的数据库,然后discard掉相应表空间之后,再import ,低版本的,就创建个结构一样的数据库,然后查看对应表的表空间id,没记错的话,应该是37-38字节,然后把你保存的ibd文件的37-38字节表空间id改成和前面一样的,然后把ibd盖过去,就可以了。 例如说 现在要恢复user表 1、先建立和之前user表一样的表结构。就是执行create ...
阅读(106) 评论(0)

MySQL 下载 安装

MySQL是目前十分流行的一种关系型数据库管理系统。官网推出的安装包有两种格式,分别是:ZIP格式和MSI格式。其中MSI格式的可以直接点击安装,按照它给出的安装提示进行安装,一般MySQL将会安装在C:\Program Files\MySQL\MySQL Server x.x (x.x是版本号)该目录中;ZIP格式是自己解压,解压缩之后MySQL就可以使用了,但是要进行配置。我用的是ZIP格式的...
阅读(87) 评论(0)

dubbo源码 编译 测试

Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo自2011年开源后,已被许多非阿里系公司使用。 项目主页:http://alibaba.github.io/dubbo-doc-static/Home-zh.htm项目源码:https://gi...
阅读(81) 评论(0)

java Service Provider Interface 简单示例

SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 目前有不少框架用它来做服务的扩展发现, 简单来说,它就是一种动态替换发现的机制, 举个例子来说, 有个接口,想运行时动态的给它添加实现,你只需要添加一个实现, 而后,把新加的实现,描述给JDK知道就行啦(通过改一个文本文件即可) 公司内部,目前Dubbo框架就基于SPI机制提供扩...
阅读(124) 评论(0)

软件架构模式

分层架构 (Layered Architecture) 分层架构是最常见的架构,也被称为n层架构。多年以来,许多企业和公司都在他们的项目中使用这种架构,它已经几乎成为事实标准,因此被大多数架构师、开发者和软件设计者所熟知。比如MVC。 分层架构的一个特性就是关注分离(separation of concerns)。在层中的组件只负责本层的逻辑。组件的划分很容易让它们实现自己的角色和职责...
阅读(176) 评论(0)
202条 共11页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:236154次
    • 积分:2772
    • 等级:
    • 排名:第14302名
    • 原创:55篇
    • 转载:147篇
    • 译文:0篇
    • 评论:7条
    最新评论