自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (9)
  • 收藏
  • 关注

原创 微服务架构核心(三)- 微服务技术架构体系

微服务架构的名字里虽然有个”微”,但它涉及的整体架构体系可一点也不”微”,微服务架构除了业务代码的开发以外,还需要很多的支撑服务。每个公司都有自己的微服务架构体系,虽然在细节上有很多不同,但是整体的思路是类似的,下图展示了一个比较成熟的微服务架构体系。这个体系按照请求接入,由外到内的顺序,将整体架构分为接入层、网关层、业务服务层、支撑服务层、平台服务层和基础设施层六层。接入层...

2018-07-28 18:25:38 4535 1

原创 微服务架构核心(二)- 微服务的利与弊

不知道你有没有这样的感受,新系统在前期调研架构的时候,大家都希望优先选择微服务架构,好像一个系统不是微服务架构就OUT了一样。但是真正的架构设计,并不是哪个架构流行就选哪个,那是要遵循简单、合适、扩展的原则。所以在选择微服务架构之前,我们应该仔细衡量它的利与弊,分析微服务架构究竟能为系统带来什么优势,同时又会新增哪些挑战。利强模块化边界模块化一直是软件设计中的一个重要原...

2018-07-21 09:33:18 789

原创 微服务架构核心(一)- 什么是微服务

微服务是目前互联网公司最常用的架构,与传统单体架构相比,微服务架构更加适应互联网快速、灵活的特点,接下来的系列文章我会逐一介绍微服务架构的核心知识点。第一篇我们先来了解什么是微服务。微服务的特点微服务最经典的定义是Martinfowler老爷子在2014年的一篇文章中介绍的,原文如下: the microservice architectural style is an a...

2018-07-14 15:51:37 1664

原创 分布式系统设计-CAP定理

CAP的定义CAP定理(CAP theorem)又被称作布鲁尔定理(Brewer’s theorem),是分布式系统设计中最基础、最重要的理论,它的意思是对于一个分布式计算系统来说,不可能同时满足以下三点条件:一致性(Consistency):每次读取要么获得最近写入的数据,要么获得一个错误。可用性(Availability):每次请求都能获得一个(非错误)响应,但不保证获得的数据为最...

2018-07-10 18:54:58 410

原创 兩步验证的原理

被盗号“您的账号密码有误,请重新输入”小卢盯着电脑屏幕看了5分钟,心里纳闷,昨天还能登录,怎么今天就密码错误了,难不成我被盗号了?想到这里,小卢赶紧给自己的程序员好友小王打电话。小卢:“小王,我在XX网站的账号被盗了!” 小王:“确定被盗了?赶紧把密码找回来。还有,你在其它网站的账号有没有被盗?“ 小卢:“试过了,账号密码是一样的,好多都登录不上……” 小王:“哎,事到如今,只能...

2018-07-10 18:53:25 2811

原创 计算机原理-浮点数存储

1、精度丢失作为程序员大家应该都遇到过下面这种情况,用浮点数做运算,发现结果与预期有偏差,比如下面的JAVA代码public static void main( String[] args ) { int i = 3; float j = 0.9f; System.out.println("3乘以0.9的结果是:" + i*...

2018-07-10 18:47:21 12541 3

原创 集中式缓存

这篇文章我们继续聊聊《深入分布式缓存:从原理到实践》中关于集中式缓存的部分。集中式缓存的基本概念,我在前面的文章 本地缓存 中已经有过介绍,相对于本地缓存,集中式缓存主要有以下几个优点:保证缓存数据的一致性。集中式缓存的数据是集中管理的,这样就能保证所有应用服务器取到的数据时一致的。更方便的数据扩容。当缓存数据过多需要扩容时,可以对缓存服务器进行水平扩展。应对单点故障。如果采用分布式...

2018-07-07 21:34:17 2325

原创 本地缓存

经过前面两篇文章的介绍,我们知道了缓存的重要性以及分布式系统的基础概念,接下来我们就要开始正式学习一些主流的缓存系统。首先来简单了解缓存系统的分类,缓存系统按照缓存数据的存储方式可以分为本地缓存和集中式缓存两种。 本地缓存:缓存数据保存在单个应用服务器中,各个应用服务器之间的缓存数据是独立的。 集中式缓存:缓存数据保存在专门的缓存服务器中,应用服务器通过网络请求从缓存服务器获...

2018-07-07 21:32:21 4752

原创 分布式系统

这篇文章我们继续聊聊《深入分布式缓存:从原理到实践》这本书。本书的核心是介绍在分布式系统中如何使用缓存,在深入了解缓存的使用之前,我们先来了解缓存的使用方:分布式系统。遗憾的是,书里虽然介绍了一些分布式系统的概念、理论和实践,却没有解释究竟什么样的系统是分布式系统,以及使用分布式系统的原因,所以这篇文章,我会结合自己的工作经验,谈一谈自己对于这两个问题的理解。最通俗的解释一听到“分...

2018-07-07 21:30:45 266

原创 缓存为王

计算机技术经过几十年的发展,无论是规模、性能还是容量都已经与往日大不相同,尤其是近年来互联网的不断普及,对以互联网为基础的系统架构提出了更多挑战。而互联网架构系统与传统IT系统最大的区别就是对于缓存的使用。合理使用缓存可以提高系统的响应速度,扩大容量,减少成本,可以毫不夸张的讲,缓存是互联网架构中最关键的环节,是每一个互联网公司必须面对和攻克的一个难题。今天,我来为大家介绍一本17年1...

2018-07-07 21:29:12 464

原创 Internal server error 500 问题解决思路

我们系统在一次升级之后,生产环境大量出现Internal server error 500错误,具体场景:在APP上使用拍照功能后,APP通过Http协议上传压缩后的照片到服务端,但是上传过程中大量出现Internal server error 500错误,很多照片都传不上去。经过一番排查之后,我们最终成功解决了这个问题,最后的原因有些出乎意料,这里卖个关子先不说出来。下面是我们解决问题的...

2018-07-07 17:53:10 241005 6

原创 EOSIO开发(八)- 智能合约基础概念

什么是智能合约智能合约的概念早在上世纪90年代就已经被提出来,自从以太坊将其发扬光大以后,智能合约在各个区块链项目,尤其是公链中得到了广泛应用,EOS也不例外。用一句话描述智能合约: 智能合约(Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。例如小张和小王掷骰子,约...

2018-07-01 20:46:46 2180

原创 EOSIO开发(七)- 使用CLion查看EOS代码

本文将会介绍如何使用CLion查看EOS源码。EOS的智能合约基于C++开发,官方在github上提供了很多合约样例,地址: https://github.com/EOSIO/eos/tree/master/contracts直接查看这些样例的源码无疑是学习合约开发最快速的方法,这时我们需要一个合适的IDE工具,尤其是IDE的代码追查功能,能够大大提高阅读源码的效率,在这推荐大家使用CL...

2018-07-01 20:45:46 1909

原创 EOSIO开发(六)- 账户之实战篇

本文将介绍如何创建账户,以及定义账户权限。涉及的操作有:创建账户修改账户权限修改账户权限目标是创建一个myaccount账户,同时将账户权限定义为下面的形式:myaccount account authorities ![屏幕快照 2018-05-05 下午12.44.15](http://ot6uqhsry.bkt.clouddn.com/屏幕快照 2018-05-05...

2018-07-01 20:44:49 1430

原创 EOSIO开发(五)- 钱包之实战篇

通过这篇文章,我们将学习如何通过cleos命令管理钱包。环境准备Docker环境:docker pull eosio/eos # 下载镜像docker run --name keosd -t eosio/eos /opt/eosio/bin/keosd arg1 arg2 # 启动keosddocker exec -it keosd /bin/bash # 进入keosd命令行...

2018-07-01 20:43:51 1250

原创 EOSIO开发(四)- nodeos、keosd与cleos

前一篇文章介绍了EOSIO中钱包、账户与账户权限的概念,这一篇文章继续学习EOSIO系统的主要组件,包括nodeos、keosd以及cleos。本文执行的命令都是基于Docker环境,请先下载Docker镜像docker pull eosio/eos nodeos、keosd与cleos的关系先来了解整体架构,下图展示了nodeos、keosd与cleos之间的关系。 ![屏...

2018-07-01 20:42:55 2542

原创 EOSIO开发(三)钱包、账户与账户权限之概念篇

这篇文章为大家介绍钱包(Wallet)、账户(Accounts)、账户权限(Account authorities)的概念。钱包 Wallet钱包是一个本地客户端软件,有下面两个作用:保存私钥。私钥可以和一个或多个账户关联,私钥保存在钱包中,私钥对应的公钥保存在账户中。对交易签名。账户(Account)发起交易(Transactions)时,需要通过钱包客户端对交易签名。钱包...

2018-07-01 20:39:32 1821

DEV下载地址

DEV的下载地址

2016-04-29

ExtJS+Web应用程序开发指南

ExtJS+Web应用程序开发指南(第二版),相比于第一版,增加了很多对ExtJS 4.0新特性的介绍。 虽然不是高清晰的,但不影响阅读,最重要的,这个是完整版,绝对不会像某些不负责任的人一样,发些封面或者部分章节出来忽悠人!

2013-08-22

CXF拦截器(Interceptor)的使用

讲解了cxf实现拦截器的原因、核心API及使用方法

2013-05-28

unitils-单元测试整合之王

构建在DbUnit与EasyMock项目上并与JUnit和TestNG相结合。 易于把spring管理的bean注入到单元测试中。 易于测试dao层、service层

2013-05-28

jdk1.6中文文档

jdk1.6中文文档,jdk1.6各种类的使用方法和定义

2013-05-28

JAVA混淆设计算法

有5个文件,都是关于JAVA混淆算法的研究

2009-05-17

Java混淆器的设计与实现

Java混淆器的设计与实现,介绍了JAVA混淆器的设计方法

2009-05-17

Java虚拟机规范中文版

Java虚拟机规范中文版,描述了Java虚拟机规范的相关信息

2009-05-17

空空如也

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

TA关注的人

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