这一节我们从一下几个方面来讲一下Thrift的分层架构,按照官方的定义这是Thrift的网络栈,其中网络栈中分为一下几个部分,(由栈顶到栈底)server,processor,protocol,transport.下面我们按照这种结构来了解一下thrift. Transport层: 由于涉及到网络之间的数据传输,所以Thrift支持多种网络传输协议,比如TCP,HTTP等.Thrift Transport都是基于TCP/IP的,而底层都是通过socket来实现的.Transport层的作用是封装…
WebSocket原理与实践(二)---WebSocket协议 WebSocket协议是为了解决web即时应用中服务器与客户端浏览器全双工通信问题而设计的.协议定义ws和wss协议,分别为普通请求和基于SSL的安全传输, ws端口是80,wss的端口为443. WebSocket协议由两部分组成,握手和数据传输. 2-1 握手WS的握手使用HTTP来实现的.客户端的握手消息是一个普通的,带有Upgrade头的,HTTP Request的消息.先来看看如下代码: <!DOCTYPE html>…
什么是RPC?为什么要使用RPC? 首先什么是RPC,RPC全称Remote Process Call,远程过程调用,现在几乎所有的公司都在使用RPC这种架构,诸如YOUTUBE使用的Thrift,Baidu的BaiduRPC等等,并且RPC也是分布式计算的基础.首先我们应该明白RPC是干什么的?顾名思义,远程过程调用,远程可以说明是一种c/s架构,过程调用可以说明调用的是一些方法. 为什么要使用RPC,其实这个问题可以从一个公司的发展历程来了解.最开始一个公司开发了一个产品,这个产品QPS并不…
Overview 在<一>有介绍到,一个分布式系统的架构设计,往往会在系统的可用性和数据一致性之间进行反复的权衡,于是产生了一系列的一致性协议. 为解决分布式一致性问题,在长期的探索过程中,涌现了一大批经典的一致性协议和算法,其中最著名的就是二阶段提交协议.三阶段提交协议和Paxos算法了. 2PC与3PC 分布式系统中,每个机器节点虽然都能明确知道自己在进行事务操作过程中的结果是失败or成功,但却无法直接获取到其他分布式节点的操作结果. 因此,当一个事务操作需要跨越多个分布式节点的时候,为了…
系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践(四)spring-kafka消费者源码 kafka原理和实践(五)spring-kafka配置详解 kafka原理和实践(六)总结升华 =========正文分割线==================== 作为一个MQ做基本的功能自然就是消息的生产和消费,本章以XML配置的方式实现消息的生产和消费.…
深入浅出MyBatis技术原理与实践-第八章 MyBatis-Spring(二) ------配置文件详解 8.2 MyBatis-Spring应用 8.2.1 概述 本文主要讲述通过注解配置MyBatis-Spring. 配置分为几个部分: 配置数据源 配置SqlSessionFactory 配置SqlSessionTemplate 配置Mapper 事务处理 mybatis中,使用SqlSessionFactory来产生SqlSession. mybatis-spring中,使用SqlSes…
前言 在之前的博文(Spring Boot自动配置原理与实践(一))中,已经介绍了Spring boot的自动配置的相关原理与概念,本篇主要是对自动配置的实践,即自定义Starter,对原理与概念加深理解. 本篇是我在实际工作中配置的用于弱口令检查的Starter,能方便嵌入到用户模块中的相关密码接口或方法,对弱口令进行检查并反馈,当然由于是公司内部代码,部分代码省略. 一.Starter实践 1.配置Maven依赖 Spring Boot自动化配置主要依赖如下两个包: spring-boot-…
  前言 架构的改变,往往是因为业务规模的扩张. 随着业务规模的扩张,为了满足业务对技术的要求,技术架构需要从单体应用架构升级到分布式服务架构,来降低公司的技术成本,更好的适应业务的发展. 分布式服务架构的诸多优势,这里就不一一列举了,今天围绕的话题是服务框架,为了推行服务化,必然需要一套易用的服务框架,来支撑业务技术架构升级. 服务框架 服务架构的核心是服务调用,分布式服务架构中的服务分布在不同主机的不同进程上,服务的调用跟单体应用进程内方法调用的本质区别就是需要借助网络来进行通信. RPC…
http://www.52nlp.cn/fasttext 1条回复 本文首先会介绍一些预备知识,比如softmax.ngram等,然后简单介绍word2vec原理,之后来讲解fastText的原理,并着手使用keras搭建一个简单的fastText分类器,最后,我们会介绍fastText在达观数据的应用. NO.1预备知识1 Softmax回归 Softmax回归(Softmax Regression)又被称作多项逻辑回归(multinomial logistic regression),它是逻…
一 本书作者介绍 此书名为从Paxos到ZooKeeper分布式一致性原理与实践,作者倪超,阿里巴巴集团高级研发工程师,国家认证系统分析师,毕业于杭州电子科技大学计算机系.2010年加入阿里巴巴中间件团队担任研发实习岗位,一直从事Zookeeper的开发与运维工作,从中学习与总结了不少分布式一致性相关的理论与实践经验,尤其对Zookeeper及其相关技术有非常深入的研究.目前在中间件团队专家组任职产品经理,负责分布式产品的产品化和云计算改造工作.这本书涉及分布式领域绝大多数系统和框架,适合刚入门…
你应该知道的RPC原理 在学校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示.这些程序的特点是服务消费方和服务提供方是本地调用关系. 而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责.这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)其它团队要使用我们的新服务,我们的服务该怎么发布以便他人调用?下文将对这两个问题展开探…
转自:http://www.jianshu.com/p/453c6e7ff81c 分布式消息系统作为实现分布式系统可扩展.可伸缩性的关键组件,需要具有高吞吐量.高可用等特点.而谈到消息系统的设计,就回避不了两个问题: 消息的顺序问题 消息的重复问题 RocketMQ作为阿里开源的一款高性能.高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实现原理 一.顺序消息 消息有序指的是可以按照消息的发送顺序来消费.例如:一笔订单产生了…
系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践(四)spring-kafka消费者源码 kafka原理和实践(五)spring-kafka配置详解 kafka原理和实践(六)总结升华 =========正文分割线=============== 关于kafka原理网上文章很多,但能真正快速入门的几乎没有(要不就是原文翻译官网...实在枯燥无味之极)…
轮播,无论是文字轮播还是图片轮播,他们的原理是一样的,都是通过定时器执行循环展示和影藏. 一.手动轮播 (1)原理 一系列的大小相等的图片平铺,利用CSS布局只显示一张图片,其余隐藏.通过计算偏移量利用定时器实现自动播放,或通过手动点击事件切换图片. (2)实现 如何利用css实现布局显示一张图片?主要的属性是over-follow:hidden.首先给容器一个固定的长和宽,然后设置over-flow:hidden. 1.html结构 首先父容器container存放所有内容,子容器list存在…
RocketMQ作为阿里开源的一款高性能.高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实现原理 一.顺序消息 消息有序指的是可以按照消息的发送顺序来消费.例如:一笔订单产生了 3 条消息,分别是订单创建.订单付款.订单完成.消费时,要按照顺序依次消费才有意义.与此同时多笔订单之间又是可以并行消费的.首先已两笔消息来看如下示例: 假如生产者产生了2条消息:M1.M2,要保证这两条消息的顺序,应该怎样做?你脑中想到的可能是这…
系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践(四)spring-kafka消费者源码 kafka原理和实践(五)spring-kafka配置详解 kafka原理和实践(六)总结升华 本文目录 1.kafkaProducer发送模型2.KafkaTemplate发送模板3.KafkaProducer 3.1KafkaProducer构造过程 3.…
系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践(四)spring-kafka消费者源码 kafka原理和实践(五)spring-kafka配置详解 kafka原理和实践(六)总结升华 ==============正文分割线===================== 一.kafkaConsumer消费者模型 如上图所示,spring-kafka消费…
转载地址:你应该知道的 RPC 原理 在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示.这些程序的特点是服务消费方和服务提供方是本地调用关系. 而一旦踏入公司尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责.这时就会遇到两个问题:1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用?2)其它团队要使用我们的服务,我们的服务该怎么发布以便他人调用?下文我们将对这…
原文:http://tech.meituan.com/deep-understanding-of-ffm-principles-and-practices.html 深入理解FFM原理与实践 del2z, 大龙 ·2016-03-03 09:00 FM和FFM模型是最近几年提出的模型,凭借其在数据量比较大并且特征稀疏的情况下,仍然能够得到优秀的性能和效果的特性,屡次在各大公司举办的CTR预估比赛中获得不错的战绩.美团点评技术团队在搭建DSP的过程中,探索并使用了FM和FFM模型进行CTR和CVR…
搞懂分布式技术10:LVS实现负载均衡的原理与实践 浅析负载均衡及LVS实现 原创: fireflyc 写程序的康德 2017-09-19 负载均衡 负载均衡(Load Balance,缩写LB)是一种网络技术,它在多个备选资源中做资源分配,以达到选择最优.这里有三个关键字: 网络技术,LB要解决的问题本质上是网络的问题,所以它实际上就是通过修改数据包中MAC地址.IP地址字段来实现数据包的“中转”: 资源,这里的资源不仅仅是计算机也可以是交换机.存储设备等: 最优,它则是针对业务而言最优,所以…
探索Mapreduce简要原理与实践 目录-探索mapreduce 1.Mapreduce的模型简介与特性?Yarn的作用? 2.mapreduce的工作原理是怎样的? 3.配置Yarn与Mapreduce.演示Mapreduce例子程序 4.javaApi开发Mapreduce程序 发散思考-入门mapreduce 思考题:假设有一个长度为1000万的int数组,求数组数据长度. 答:如果是应试考试,你说觉得太简单了吧,一个for循环就搞定.可是,它是一个面试,你如何通过解决这一个问题就脱颖而…
MQ背景&选型 消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性.主要具有以下优势: 削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失.系统奔溃等问题) 系统解耦(解决不同重要程度.不同能力级别系统之间依赖导致一死全死) 提升性能(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统) 蓄流压测(线上有些链路不好压测,可以通过堆积一定量消息再放开来压测) 目前主流的MQ主要是Rocketmq.kafka.Rabbitmq,Rocketmq…
在上篇文章中,我们介绍了渲染流水线中的 DOM 生成.样式计算和布局三个阶段,那今天我们接着讲解渲染流水线后面的阶段. 这里还是先简单回顾下上节前三个阶段的主要内容:在 HTML 页面内容被提交给渲染引擎之后,渲染引擎首先将 HTML 解析为浏览器可以理解的 DOM:然后根据 CSS 样式表,计算出 DOM 树所有节点的样式:接着又计算每个元素的几何坐标位置,并将这些信息保存在布局树中. 分层 现在我们有了布局树,而且每个元素的具体位置信息都计算出来了,那么接下来是不是就要开始着手绘制页面了?…
无论你是想要设计高性能 Web 应用,还是要优化现有的 Web 应用,你都需要了解浏览器中的网络流程.页面渲染过程,JavaScript 执行流程,以及 Web 安全理论,而这些功能是分散在浏览器的各个功能组件中的,比较多.比较散,要怎样学习才能掌握呢?通过浏览器的多进程架构的学习,你就可以把这些分散的知识点串起来,组成一张网,从而让自己能站在更高的维度去理解 Web 应用. 因此,学习浏览器的多进程架构是很有必要的.需要说明的是,在本专栏中,我所有的分析都是基于 Chrome 浏览器的.那么多…
SparkMLlib-协同过滤之交替最小二乘法ALS原理与实践 一.Spark MLlib算法实现 1.1 显示反馈 1.1.1 基于RDD 1.1.2 基于DataFrame 1.2 隐式反馈 二.Spark中MLlib中的ALS算法物品推荐代码实现: 相关内容原文地址: CSDN:leboop:Spark MLlib协同过滤之交替最小二乘法ALS原理与实践 CSDN:Jantelope:Spark中MLlib中的ALS算法物品推荐代码实现: 一.Spark MLlib算法实现 数据准备: 1…
Atitit 管理原理与实践attilax总结 1. 管理学分类1 2. 我要学的管理学科2 3. 管理学原理2 4. 管理心理学2 5. 现代管理理论与方法2 6. <领导科学与艺术4 7. 组织管理学5 8. 人力资源管理5 9. 企业战略管理6 10. <领导的艺术>6 11. 企业运营管理7 12. 公司运营与管理8 13. 行政管理学8 14. 行政管理教程9 15. 企业行政管理理论与实务9 16. 现代公用事业管理10 17. 公共关系10 18. 参考资料10 1. 管理…
Atitit.ide技术原理与实践attilax总结 1.1. 语法着色1 1.2. 智能提示1 1.3. 类成员outline..func list1 1.4. 类型推导(type inference): 1 1.5. Remote debug1 1.6. debugging api包一个gui就够了 1 1.7. expression evaluation 2 1.8. 如Java Compiler API2 1.9. Ide每部分代码数统计3 1.1. 语法着色 语法高亮要靠parser,…
Atitit.软件兼容性原理与实践   v5 qa2.docx 1. Keyword2 2. 提升兼容性的原则2 2.1. What 与how 分离2 2.2. 老人老办法,新人新办法,只新增,少修改,莫删除2 2.3. 计划赶不上变化,永远api修改也不可能整齐划一,反而带来不兼容的风险2 3. 兼容性的重要性与反面教材2 4. 架构and模块兼容性3 4.1. 粒度最小化,得到最好的灵活性3 4.2. 多套ui/xx模块,如何兼容3 4.3. 要是计划新的模块,老的模块可以不修改同步,推荐新…
本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP.NET MVC5 网站开发实践(一) - 框架(续) 模型.数据存储.业务逻辑 ASP.NET MVC5 网站开发实践(二) - 用户部分(1)用户注册 ASP.NET MVC5 网站开发实践(二) - 用户部分(2)用户登录.注销 ASP.NET MVC5 网站开发实践(二) - 用户部分(3)…
上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP.NET MVC5 网站开发实践(一) - 框架(续) 模型.数据存储.业务逻辑 ASP.NET MVC5 网站开发实践(二) - 用户部分(1)用户注册 ASP.NET MVC5 网站开发实践(二) - 用户部分(2)用户登录.注销 ASP.N…