代码改变世界

AOP各种的实现

2017-11-17 08:22 by shizhiyi, 464 阅读, 0 推荐, 收藏, 编辑
摘要:1 AOP各种的实现 AOP就是面向切面编程,我们可以从几个层面来实现AOP。 在编译器修改源代码,在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码,以下是各种实现机制的比较。 类别 机制 原理 优点 缺点 静态AOP 静态织入 在编译期,切面直接以字节码的形式编译到目标字节码文件 阅读全文

OWASP Top 10十大风险 – 10个最重大的Web应用风险与攻防

2017-11-04 07:58 by shizhiyi, 311 阅读, 0 推荐, 收藏, 编辑
摘要:http://blog.csdn.net/lifetragedy/article/details/52573897 阅读全文

OAuth2.0认证和授权机制讲解

2017-10-30 15:33 by shizhiyi, 5660 阅读, 2 推荐, 收藏, 编辑
摘要:第一章.OAuth2.0 介绍 OAuth认证 OAuth认证是为了做到第三方应用在未获取到用户敏感信息(如:账号密码、用户PIN等)的情况下,能让用户授权予他来访问开放平台(主要访问平台中的资源服务器Resource Server)中的资源接口。 其流程主要是:* 1.用户首先要保持登录,即已认证 阅读全文

MySQL主从复制

2017-10-29 17:37 by shizhiyi, 226 阅读, 0 推荐, 收藏, 编辑
摘要:1.MySQL主从复制入门 首先,我们看一个图: 影响MySQL-A数据库的操作,在数据库执行后,都会写入本地的日志系统A中。 假设,实时的将变化了的日志系统中的数据库事件操作,在MYSQL-A的3306端口,通过网络发给MYSQL-B。 MYSQL-B收到后,写入本地日志系统B,然后一条条的将数据 阅读全文

秒杀业务优化

2017-10-29 17:35 by shizhiyi, 319 阅读, 0 推荐, 收藏, 编辑
摘要:一、秒杀业务为什么难做 1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息); 2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据; 3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。 例如:小米手机每周二的秒杀,可能手机只有1 阅读全文

冗余表设计

2017-10-29 17:32 by shizhiyi, 2157 阅读, 0 推荐, 收藏, 编辑
摘要:本文主要讨论四个问题: (1)为什么会有冗余表的需求 (2)如何实现冗余表 (3)正反冗余表谁先执行 (4)冗余表如何保证数据的一致性 一、需求缘起 互联网很多业务场景的数据量很大,此时数据库架构要进行水平切分,水平切分会有一个patition key,通过patition key的查询能够直接定位 阅读全文

java程序员--小心你代码中的内存泄漏

2017-10-29 17:29 by shizhiyi, 443 阅读, 0 推荐, 收藏, 编辑
摘要:当你从c&c++转到一门具有垃圾回收功能的语言时,程序员的工作就会变得更加容易,因为你用完对象,他们会被自动回收,但是,java程序员真的不需要考虑内存泄露吗? 其实不然 1.举个例子-看你能否找出内存泄漏 import java.util.Arrays; public class Stack { 阅读全文

什么是高可用

2017-10-29 17:25 by shizhiyi, 46198 阅读, 31 推荐, 收藏, 编辑
摘要:一、什么是高可用 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。 假设系统一直能够提供服务,我们说系统的可用性是100%。 如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是9 阅读全文

后端架构高可用可伸缩

2017-10-29 17:23 by shizhiyi, 478 阅读, 0 推荐, 收藏, 编辑
摘要:入口层高可用 业务层高可用 缓存层高可用 数据库高可用 入口层可伸缩 业务层可伸缩 缓存层可伸缩 数据库可伸缩 下面来分层介绍实践方法。 入口层高可用 nigix两个 keeplive保活 心跳做好。 使用心跳技术:keeplive提供这个技术 比如机器A IP是1.2.3.4,机器B IP是1.2 阅读全文

高可用可伸缩架构实用经验谈

2017-10-29 17:22 by shizhiyi, 433 阅读, 0 推荐, 收藏, 编辑
摘要:移动互联网、云计算和大数据的成熟和发展,让更多的好想法得以在很短的时间内实现为产品。此时,如果用户需求抓得准,用户数量将很可能获得爆发式增长,而不需要像以往一样需要精心运营几年的时间。然而用户数量的快速增长(尤其是短时间内的爆发式增长),通常会让应用开发者有些吃不消,不得不面临一些严峻的技术挑战:如 阅读全文