自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (3)
  • 收藏
  • 关注

原创 数据安全传输技术

数据传输过程中,我们经常关注与以下三个方面问题,保证消息的可靠防篡改:1)消息是从哪里来的2)消息传输过程中没有被篡改过;3)希望特定的接收方获取为了解决上面的问题,就要涉及机密的相关知识。加密算法根据解密秘钥不同分为对接加密、非对称加密。对称加密技术是指通过一把钥匙实行加密和解密技术。此种机密技术处理的速度较快,是的大量数据的加密解密操作,但是秘钥容易被泄露,最终导致信息泄露。非...

2019-07-08 12:11:52 3093

翻译 创建微服务-用API网关实现

创建微服务-用API网关实现第一篇文章讲述了微服务的创建、设计和部署。同时,也讨论了关于应用微服务的优点和缺点。虽然微服务结构复杂,但它是处理复杂程序架构的理想选择。本文讲述通过API网关构造微服务。当你选择采用微服务构建自己的程序,则你需要考虑客户端怎样与后端服务交互。对于一个单体应用,仅有一个服务群提供服务(通过负载均衡器实现)。在微服务架构里面,每一个服务都暴漏了一个服务器集群。本篇文章我们...

2018-06-15 17:02:03 3057 1

翻译 微服务介绍(理论介绍)

作者 Chris Richardson of Eventuate, Inc.  May 19, 2015本人翻译微服务逐渐得到文章、博客、自媒体和会议的青睐,他们几乎达到发展的顶峰期。同时,一些社区认为微服务不是新鲜的概念,都是以前的概念。怀疑论者认为它仅仅是SOA概念的翻版。尽管有很多的否定者和怀疑论者,微服务架构尤其对于复杂的企业程序和灵活的开发组织具有着明显的益处。创建单体程序让我们想象一下...

2018-06-08 17:29:46 744

原创 Dubbo微服务实践思考

Dubbo提供的是一个无侵入的分布式中台解决方案,其核心是传输协议的代理模式、线程模型、负载均衡和服务治理模型。代理模式是指在客户端调用服务器端的服务就像在本机调用一样。线程模型是指服务端处理客户端服务时的线程池机制。其设计的目的是提高处理请求的效率。服务治理是在指对于请求的降级和熔断处理。服务降级是指在高并发条件下,服务端通过关闭相对不重要的服务保证重要服务的一种方式。服务熔断是指为了保证服务发...

2018-05-30 10:21:41 503

原创 linux环境下Zookeeper的安装实践

zookeeper作为分布式协调服务,作为Dubbo的重要配置中心,在分布式架构中具有重要的作用。任何的技术的学习,都离不开环境的配置和搭建。本文讲解zookeeper 在linux下的安装步骤:1、zookeeper下载  http://zookeeper.apache.org/ 2、下载完成的文件放到/soft文件夹下,其结构目录如下:   /soft/zookeeper-3.4.12.tar...

2018-05-09 13:36:12 229

原创 分布式高可用架构学习笔记

      大型网站系统的系统架构需要考虑网站的业务架构和肺功能性架构,非功能性需要包括性能、可用性和可伸缩性。性能通过缓存、负载集群、异步和后端代理实现。可用性需要考虑冗余备份和故障恢复时间两个方面。系统通过冗余备份处理加强系统的稳定性、可用性,手段包括负载集群、数据库冷热备份。系统恢复时间是指系统发生故障后从现有备份中恢复的时间,这个时间越短越好。为了生成高可用的网站系统架构,监控、自动化测试...

2018-05-02 13:20:36 257

原创 分布式中台实践-Dubbo源码分析Regist组件

     Dubbo最核心的功能包括进程协调和RPC协议通信。进程协调的关键组件是Regist,后者的关键组件在于Remoting。今天我们重点分析Dubbo的进程协调组件。    进程协调组件的职能包括:1)注册消费端组件 2)部署服务端组件 3)检测消费端和服务端的心跳 4)同步消费端的服务。其重点解决服务注册和服务发现问题,当然还有一些服务的治理功能。这也是微服务配置中心的基本核心功能。  ...

2018-04-25 11:19:59 263

原创 windows环境下的微服务架构研究

背景资料   随着计算量、业务量和数据量的上升,微服务、容器技术如雨后春笋般的出现。技术上出现较多的都是linux体系下的部署方案,本文从windows的角度,探讨微服务的部署方案。    微服务架构是一种将整体架构拆分的架构。在微服务之前,程序的负载都是通过整体程序的负载实现,导致资源的浪费较大。例如,对于一个电商系统,访问量较大的可能仅仅是订单、支付系统,仅仅为了这两个部分进行整体的负载,导致...

2018-04-17 14:30:07 1347

原创 怎样确定一个好的系统的架构样式?

从大的方面来讲,可以分为满足功能性需求和非功能性需求。前者是满足基本的业务功能,离开业务或者需求谈架构将毫无意义。后者从程序性能、网络性能、用户感知性能、伸缩性、维护性和简单性等角度考虑。程序性能肯定越快越好,尽可能的通过本地调用代替网络调用。网络性能包含两个指标吞吐量和崩溃量,两者相互矛盾。一个基本的原则是通过一个快速健壮的网络请求将是较好的一个时间。网络的伸缩性之前是指拆分组件的能力,现在是指...

2018-04-11 16:19:33 365

原创 分布式中台实践-Dubbo源码分析

Dubbo源码导入Eclipse,打开源码,源码的结构分为cluster、common、container、filter、monitor、plugin、registry、remoting、rpc、serialization、lite部分。从代码的结构上来讲,Dubbo采用SPI的代码结构,即所有的结构都有可实现的接口。首先从dubbo-config-api组件开始,其为配置文件解析做准备。结构上包...

2018-03-29 19:20:30 321

原创 分布式中台实践-windows环境下Dubbo+SpringMVC+Zookeeper环境配置

背景解决Dubbo+SpringMVC+Zookeeper是阿里巴巴提供的开源的分布式中间件,解决大数据量并发条件下的解决方案。本文章解决本解决方案下的环境搭建问题。前提条件1、下载zookeeper     http://zookeeper.apache.org/     安装完成后配置服务端口,并启动运行。2、下载Dubbo-Admin并通过jdk1.7下的Tomcat安装      http...

2018-03-16 11:50:59 318

原创 分布式中台-Dubbo的源码剖析之过滤器和监听器

Dubbo的Filter形成的是过滤链条,根据不同的业务形成了不同的过滤方式,此过滤信息目的是某些业务或者请求合规。监听器作为Dubbo的流程监控,采用代理模式,根据不同业务对象的生命周期,暴漏和实现不同的业务方法。Dubbo的监听器类型分为DeprecatedInvokerListener、ExporterListenerAdapter、InvokerListenerAdapter、Listen

2018-01-19 15:12:21 550

原创 分布式中台实践-dubbo的源码剖析之RPC

角色及职责描述Dubbo的RPC解决远程通信,在整个架构中起着关键作用。其具体实现包括Exporter、ExporterListener、Filter、Invocation、Invoker、InvokerListener、Protocal、ProxyFactory、Result、RpcConstants、RpcContext、RpcException、RpcInvocation、RpcResu

2018-01-17 14:24:52 396

原创 分布式中台实践--Dubbo的简单实践

Dubbo是在Spring基础之上做的扩展,也就是说阿里巴巴对于spring的性能、易用性还是非常的认可的。从使用角度来讲,即使是大公司对于流行技术框架,也都细心研究。废话不多说,下面我们从Dubbo实践的角度,讲解Dubbo的具体应用。1、环境配置      Dubbo实践最核心是构造服务端、消费端和配置中心,而这三者的基础依赖于Maven构建。因此实践的第一步是配置Maven环

2018-01-11 14:49:03 794

原创 NET多线程之基础理论

线程是处理器处理单位的最小单元,它需要运行于应用程序域中。也就是一个应用程序域可以执行多个线程,但是一个线程不能横跨多个应用程序域。多线程用户解决单个处理器处理多个任务的功能,例如,用户既可以操作Word,同时,也可以上网看狗血剧。线程的数据结构包括线程异常、线程状态和线程上下文。线程上下文保存了线程离开处理器时的状态,以便再次唤醒时能够继续操作。      线程应用场景包括:1)处理操作

2018-01-05 14:12:05 225

原创 分布式中台实践-Dubbo学习之架构讲述

Dubbo作为阿里巴巴的一个开源架构,其目标是完成传统程序的分布式部署,为大数据并发提供技术支撑。消费者:负责订阅注册中心的服务和接收注册中心的通知。另外,消费者能够根据本身的服务记录直接调用生产者的服务。生产者:对外提供服务和向注册中心注册服务。注册中心:注册订阅服务和主动发现服务状态并通知。监控中心:负责监控消费者和生

2017-12-28 13:51:00 1889 2

原创 并发关键问题思考

异常处理     异常顾名思义在正常运行的程序因为各种原因导致的非正常处理。异常的关键要素包括错误信息、异常堆栈、错误代码、错误参数、发生时间等。另外,由于异常报错的地方可能较多,因此需要集中处理,对于不同的业务需要建立不同的异常日志。监控流水    监控流水是为了解决程序的健康情况和程序报错后的处理参考。监控包括程序的操作业务流水和业务操作链条流水。前者用于监控程序的健康

2017-12-21 10:01:42 221

原创 SQL SERVER 性能优化

SQLSERVER 的性能优化是一个复杂的过程,其中的核心关键包括三个:1)减少全表检索的次数 2)减少数据获取的数量3)尽可能的采用线程池实现数据库链接,并及时的关闭数据链接,方式内存溢出.当发现瓶颈后,针对性的优化算法或者硬件吞吐量做出针对性的扩展.

2017-12-12 15:01:47 6140

原创 一种基于喊话模式的排序算法

本算法是针对排名取数场景提出的一种优化排序取数算法(取数时需要指定开始值和结束值,类似于喊话,故为喊话模式的排序算法)。本算法首先将数据转化为有序频段,其次根据所取数据的范围获得所需的频段(完整区间和端区间),最后,根据不同频段的特点采用不同的排序方式排序后取数。经与快速排序算法比较测试,当数据在10万至100万之间,快速排序算法平均耗时是本算法的1.5倍以上,最大耗时是其8.7倍。实验结果证明该排序算法明显优于快速排序算法取数,适合快速的随机获取大数据量的部分数据。

2017-11-11 17:28:56 343

原创 Hadoop配置---无密码登录

Hadoop的无密码登录采用SSH的配置方式,ssh为Secure Shell的缩写,有IETF的网络小组制定。SSH是建立在应用层基础之上的安全协议,其为远程登录会话或者其他网络服务提供安全性协议。传统的网络服务,如ftp和telnet本质上是不安全的,因为他们在网络上采用明文传送口令和数据,容易遭受“中间人”攻击。ssh采用加密的形式进行传输,有效杜绝了中间人攻击。SSH提供两种形式的

2017-10-24 10:04:36 703

原创 Lucene原理剖析

Lucene作为一个快速的检索框架,为中小型公司提供了一个快速接入搜索引擎的途径。其从创立之初,得到了开源社区的快速发展。其突出优势为快速的数据处理能力和TF-IDF的快速排序算法。本文从Lucene的打分原理、具体的实现和数据存储结构三个方面讲解,力争将Lucene的核心原理层层剖开。

2017-09-26 19:50:58 4927

原创 Lucene的核心包

检索领域的明星lucene,被公认为高效的检索算法,其被广泛应用在其他领域中,包括微软的邮箱检索等。其的核心包有7个,名称和功能介绍如下:序号  包名 功能简介 1 index 构建索引 2 analyze 文本分析接口 3 document 文档逻辑接口 4 Search 文档检索接口

2017-09-26 10:42:22 293

原创 Web前端性能优化策略

前端性能优化需要从前端的资源类型分析,以减少请求资源和请求时间为目的。目前的类型包括图片、javascript、css、动态数据等,不同的资源对于运算、带宽等的依赖也不同,因此优化的方式也不同。参照以往的经验和雅虎前端优化的策略,本系统分为以下方面:1)根据浏览器加载数据的顺序不同,将加载的位置分为head内部和body之后      a,css尽可能的放到head内部 

2017-09-23 14:03:20 1394

原创 区块链原理学习之二-私钥公钥和地址

比特币属于加密货币,其加密的基础是加密学。秘钥分为公钥和私钥,其成对出现。公钥用于交易中的收款确认,类似于银行交易中的“收款方”。私钥用于数字签名,确认交易的所有权,类似于银行交易中的“签名”。加密基础算法主要分为幂加密和椭圆曲线加密,比特币的加密原理采用后者。此种加密算法的特点是从一方到另一方交易实现,反之则较难实现。私钥和公钥的生成算法:1)由随机算法形成私钥 2)根据椭圆算法由私钥形

2017-08-31 14:17:21 9340

原创 区块链原理学习-区块链结构

区块链包括区块链头、序列化区块链、交易、钱包和P2P网络。区块链头包括版本号、前一区块链头哈希、默克尔树根节点、时间戳、区块复杂度、工作量值。其具体的关系如下表所示:序号  位数 名称 数据类型 描述 1 4 版本号 int32 区块链版本号用于确定区块集的验证规则; 2 32 前一区块头的哈希值 char

2017-08-25 18:26:55 7096 2

原创 异步编程

采用多线程解决多核处理、资源共享和耗时任务,同时也会出现内存损耗问题,因此多线程的选择处理需要慎重。线程根据操作的不同场景分为不同的状态,分为未启动、启动、休眠和挂起等状态。线程分为前台线程和后台线程,两者的区别是后台线程中不包含可执行环境,前台线程结束,后台线程随之结束。托管线程和非托管线程最大的区别在于是否在公共运行库中有上下文,是否能够进行监控和内存回收。非托管的线程需要手动进行内存回收,

2017-06-23 13:30:20 310

原创 分布式消息队列研究及实践

一、Kafka的背景介绍 1、kafka的三个应用业务场景   1)它能够实现发布订阅的流式数据处理.从这方面来看,它类似于流式队列或者企业消息系统.   2)它能够以容错的形式存储消息流.   3)它能够按照先后顺序处理流式消息.2、它最大的优势:  1)它能够在系统和程序之间建立实时的流式处理管道;  2)它能够实时的转换和处理流式数据.

2016-12-13 18:22:11 439

原创 并发队列处理 之 MSMQ

消息队列用于同步或者异步的高效处理消息队列,它应用的场景包括:1)关键性的财务数据处理:例如,电子商务。2)嵌入式和手持程序;3)户外销售:例如,自动化销售程序;4)工作流消息队列不适合客户端和服务器端实时交互的场景,因为队列会出现一定的延迟现象。MSMQ的实现包括一下几个元素:消息队列、发送器和接受器。消息队列包括公用消息队列、专用消息队列,管理消息队列等。消息队列的发送

2016-09-20 16:00:39 1431

原创 Windows Socket 学习笔记 之基础知识

本部分作为Socket编程的基础知识的补充,讲述网络模型和网络协议介绍.

2016-09-17 11:45:42 338

原创 Android Service解析

Service的启动有两种方式:1)Started,也就是服务的启动,服务启动后,服务移动运行下去,及时启动他的服务已经被销毁。操作完成后,此服务自动销毁。服务可以做一些阻塞线程的工作,如网络下载、上传文件等。BoundService是指应用程序组件通过BindService()绑定到服务上。服务声明后,任何服务器组件都能绑定该服务。一个服务的生命周期包括Start、Create、Dest

2016-08-29 17:18:20 306

原创 ASPNET MVC 基础学习(一)

1、微软ASPNET 框架的最大缺陷是ViewState导致页面的数据过大,从而使得页面的处理速度过慢;2、基本术语学习()   @Styles.Render("~/Content/css");用于加载App_Start中   @Html.ActionLink("主页", "Index", "Home") 用于链接的创建,第一个参数是链接的内容名称,第二个参数是控制器中的视图;第三个参

2016-08-22 15:38:00 319

原创 Cordova

背景Apache Cordova是一个开源的移动程序开发框架。利用它可以通过Web开发技术(JavaScript、css、Html5)进行跨平台的移动开发。程序通过不同平台的外壳进行执行。框架针对不同的平台提供了统一的访问接口,例如调用传感器、数据、网络状态等。利用Cordava可以进行如下操作:1)开发者想通过一套代码进行多平台的开发;2)一套程序可以在多个移动平

2016-07-23 10:02:02 266

原创 为什么选用检索引擎

检索引擎即一种对于已有数据进行组织和处理之后,为用户提供快速、精准的数据检索和排序的一种数据处理手段。相比之前传统的数据库检索而言,具有着以下的优势:1、大数据量的检索更加快速。普通的检索需要根据数据进行全数据的检索,但是检索引擎根据检索的索引进行检索,不用全部数据进行遍历,因此效率更高。2、能够对于检索的结果进行专业的排序。3、能够认识自然语言,能够根据自然语言进行检索过

2016-06-07 08:44:13 449

原创 Lucene6.0分析(一)——数据分析接口

Analyer作为数据分析的主要数据模型,他通过TokenStreams分析文本。也可以说它是从文本中提取索引字段的一种策略。为了实现分析的目的,内部采用TokenStreamComponents组件进行实现。Analyzer本身集成自Closable接口,即调用Close方法,可以释放资源。该对象通过tokenStream方法获取TokenStream对象。   TokenStrea

2016-05-27 16:33:31 957

原创 Andriod学习笔记 Activity

Andriod的Activity学习笔记

2015-03-18 09:50:15 869

原创 2010年总结

这是自己在2010年的个人思路的总结和梳理

2010-12-31 00:13:00 404

转载 C#异步操作(转载推荐)

http://developer.51cto.com/art/200908/144334.htm

2010-08-30 14:37:00 394

原创 ASP.NET 连接各种数据库

<br />MSDN 连接http://msdn.microsoft.com/zh-cn/library/ms178371(VS.80).aspx<br />外面的技术连接:http://dotnet.chinaitlab.com/CSharp/531163_2.html

2010-08-08 20:06:00 482

原创 用javascript实现输入框的输入推荐代码

自己学习javascript之余,实现了输入框的智能提示功能

2010-07-17 23:58:00 998

原创 转变

<br />从26岁生日开始,感觉自己的肩头的责任又增加了一些。总觉得自己应该每天进行总结,但是总是觉得自己的时间不是十分的充裕。昨天看到张洪江院士的采访,他在里面提到,自己一定要知道什么时候应该结束什么样的事情。<br />  自己从本科进入研究生,坦率的说,自己的身心进步都非常的巨大,但是自己缺少的是实实在在证明自己的东西。有的时候感觉自己的脑子乱糟糟的自己都不知道想说什么。<br />  从内心发出的声音,是我一定要不断地进步,不断地改变人生。一定要兑现自己的3年承诺,学会拒绝。人总是有变得开始,我想

2010-07-17 23:49:00 447

FontsCut 网页字体集压缩程序

功能介绍 1 根据输出字体集合和全部字体集合自动提取所需的字体集合,极大的减小集合空间大小; 2 使用仅需要调整Config文件夹底下的Core.xml配置文件; 同时向Resource底下放入所需要的txt文档和ttf字体集合即可 有问题 QQ:378457997

2017-11-11

Hadoop权威指南中文版

最权威的Hadoop学习资料

2017-07-05

批量改变图像大小,直接生成PAL制图片

这是自己前几天,为教研室写的,批量改变图像大小的文件程序,直接生成720*576的PAL制图片

2009-09-25

空空如也

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

TA关注的人

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