MVC - 单点登录中间件
本章将要和大家分享的是一个单点登录中间件,中间件听起来高深其实这里只是吧单点登录要用到的逻辑和处理流程封装成了几个方法而已,默认支持采用redis服务保存session的方式,也可以使用参数Func方法来做自定义session存储操作的方式,就不用我默认提供的redis存储的方法了;要说本章内容的来源,其实是我在以前的ShenNiu.
Big Mysql的中间件
淘宝根据自身业务需求研发了TDDL(Taobao Distributed Data Layer)框架,主要用于解决分库分表场景下的访问路由(持久层与数据访问层的配合)以及异构数据库之间的数据同步,它是一个基于集中式配置的JDBC DataSource实现,具有分库分表、Master/Salve、动态数据源配置等功能。
nodejs开发 express路由与中间件
路由 通常HTTP URL的格式是这样的: http://host[:port][path] http表示协议。 host表示主机。 port为端口,可选字段,不提供时默认为80。 path指定请求资源的URI(Uniform Resource Identifier,统一资源定位符),如果URL中没有给出path,一般会默认成“/”(通常由浏览器或其它HTTP客户端完成补充上)。
Laravel 5如何在中间件中获取路由参数?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_21158419/article/details/53168027 ...
ActiveMQ消息中间件Producer和Consumer
生产者代码: package com.java1234.activemq; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageProdu
阿里专家倪超:支撑海量用户的阿里中间件技术
“大流量高并发互联网应用实践在线峰会”将于9月20-21日20:00-21:30召开,届时10位淘宝开放平台和阿里云技术大V将为广大开发者分享阿里的第一手实践。来自阿里巴巴集团的产品专家倪超(花名:银时),将在本次峰会中为大家带来《支撑海量用户的阿里中间件技术》的分享,下面是议题详情,供大家参考。
使用HAproxy为阿里中间件做负载均衡。
在内部系统不是非常的高并发,大流量的场景下,且有windows,Linux混合操作系统场景下,便于配置维护,可以使用HApoxy 替代 LVS一试。
【中间件3】手把手教你在UbuntuKylin安装配置开源版Tair(请指教)
一 相关资源 1 操作系统环境 2 Tair 资源 二 安装步骤2 1 关闭防火墙3 2 安装工具 3 设置库文件的安装目录 4 编译安装 Tair依赖库tb-common-utils 5 编译安装 Tair 6 配置和启动 tair 三 启动步骤 一 相关资源 1.1 操作系统环境 UbuntuKylin 16.04 64位(x86_64),官方一定要64位的。
【中间件2】在虚拟机搭建JStrom
一 安装步骤 二 搭建Zookeeper集群 1 ZooKeeper 单机安装与配置 11 下载zookeeper安装包 12 解压zookeeper安装包 13 设置环境变量 14 配置zoocfg 15 启动zookeeper 三 搭建JStorm...
【中间件1】在Windows下搭建RocketMQ
目录 目录 一 准备工作 1 RocketMQ部署架构1 2 环境配置 二 安装RocketMQ 1 下载编译好的RocketMQ 2 解压缩并进入bin目录 3 启动name server 4 启动broker 5 MQ安装完毕 三 验证MQ是否安...
Spring整合JMS(消息中间件)实例
本篇文章主要描述了如何配置Spring-JMS,至于为何这样配置及Spring-JMS相关介绍,请阅读这篇文章:Spring整合JMS(消息中间件)。我们这里的消息broker用的是ActiveMQ。 一、相关配置 本篇主要讲解如何在Spring中配置JMS,关于Spring本身的配置本文就不多做介绍了。 1.1 配置maven依赖 在使用Spring-JMS之前,先
Spring整合JMS(消息中间件)
本篇主要介绍了异步消息机制及Spring对JMS封装,本篇文章讲解较为详细,如果想直接看如何配置,可以参考: Spring整合JMS(消息中间件)实例,但还是建议大家先看完本篇文章。 一、消息异步处理 类似于RMI、Hessian、Burlap等远程方法调用,它们都是同步的,所谓同步调用就是客户端必须等待操作完成,如果远程服务没有返回任何响应,客户端会一直等待直到服务完成
Spring整合JMS(消息中间件)
本篇主要介绍了异步消息机制及Spring对JMS封装,本篇文章讲解较为详细,如果想直接看如何配置,可以参考: Spring整合JMS(消息中间件)实例,但还是建议大家先看完本篇文章。 一、消息异步处理 类似于RMI、Hessian、Burlap等远程方法调用,它们都是同步的,所谓同步调用就是客户端必须等待操作完成,如果远程服务没有返回任何响应,客户端会一直等待直到服务完成
redis之(十)redis实现消息中间件的功能
[一]任务队列的好处 --->松耦合:生产者和消费者无需知道彼此实现的细节,只需要约定好任务的描述格式。这使得生产者和消费者可以由不同的团队使用不同的编程语言编写。 --->易于扩展:消费者可以有多个,而且可以分布在不同的机器。
消息中间件MetaQ高性能原因分析
## 备注 该篇是由原作者 傅冲 提供 ## 简介 `MetaQ`是一款高性能的消息中间件,经过几年的发展,已经非常成熟稳定,历经多年双11的零点峰值压测,表现堪称完美。 `MetaQ`当前最新最稳定的稳本是`3.x`系统,`MetaQ 3.x`重新设计和实现,比之前的版本更优秀。
如何设计一个数据库中间件(支持百亿级别数据存储)
继《如何设计开发一个可用的web容器》之后又一如何系列文章,《如何设计一个数据库中间件》 ==========广告时间========== 鄙人的新书《Tomcat内核设计剖析》已经在京东预售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。
Spark随谈(一)—— 总体架构
Spark是一个小巧玲珑的项目,由Berkeley大学的Matei为主的小团队所开发。使用的语言是Scala,项目的core部分的代码只有63个Scala文件,充分体现了精简之美。 Spark之依赖 (1)Map Reduce模型 作为一个分布式计算框架,Spark采用了MapReduce
Spark随谈(二)—— 安装攻略
本来安装这件事情,不用单独开一篇谈的。但是Spark的安装实在是一件点蛋疼的事情,这和Spark的语言和框架两者有颇大的关系。 Spark是Scala语言写的,所以要先安装Java和Scala,而底层的调度框架是Mesos,Mesos是C++写的,所以又对机器的glibc和gcc环境有一定的要求。
SolrLucene优劣势分析
最早lucene2.4以及以前,追溯到2008年前后,lucene刚刚引起大家的关注,到后来Nutch、solr的出现,lucene变得更加热。Nutch、Solr的发展,极大推动了lucene的升级。对于一些接触过搜索,使用过lucene、solr的人来说,一般都会感觉lucene、solr很牛.
与Linux OOM-killer的第一次亲密接触
受害人口述悲惨的遭遇—— 1、最近一段时间(更换了预发机器后)我负责的一个应用的预发环境(线上稳定得像个婴儿~)特别不稳定,最先是应用频频的过几天就发现提供的接口不工作了,但容器Jetty还在跑得欢,于是jstack/jmap看,发现没有一个线程在跑我的war包中的程序,但是容器里个中间件的sar
Spark随谈——开发指南(译)
本文翻译自官方博客,略有添加:https://github.com/mesos/spark/wiki/Spark-Programming-Guide,谢谢师允tx的校正。希望能够给希望尝试Spark的朋友,带来一些帮助。目前的版本是0.5.0 Spark开发指南 从高的层面来看,其实每一个S
Solr schema编写指导
0. 亲,低级错误知多少 "" 写成了“” <br> true 写成了 ture <br> false写成了fasel <br> String 写成了 string <br> userId 写成了userid <br> user_id 写成了 user_Id <
SolrQuery性能压测参考
性能压测本身是一件非常有意义的事情,也是非常复杂的工作。对搜索引擎压测,不仅是数据集构建、查询集构建、 标准参照集构建等麻烦,而且只需一轮测试周期常,测试结果与语言本身有关联,更与集合其他数据有潜在关联,因为排序是 整体的,互关联的。 测试的具体执行环境、执行用例、参数配置和清除、quer
BufferedInputStream 源码学习笔记
BufferedInputStream是一个带有内存缓冲的InputStream. BufferedInputStream是继承自FilterInputStream。 FilterInputStream继承自InputStream属于输入流中的链接流,同时引用了InputStream,将In
Apache MINA (2) Hello World!
了解完Apach MINA的一些基本概念Apache MINA (1) 简介 ,开始进入MINA相关的代码学习,以一个简单HelloWorld程序开始,完成客户端与服务端之间的通讯。 准备工作: org.apache.mina 版本4.0 org.slf4j 1.6.1 (Simple
ZooKeeper运维之使用SnapshotFormatter可视化快照数据
在ZooKeeper的运维过程中,我们经常会碰到这样的问题,就是快照数据文件越来越大,但是ZooKeeper上的数据节点数量并没有相应的增加。 这说明什么问题:一定是有客户端在将ZooKeeper当数据库使用了。长此以往,必然会引起ZooKeeper内存数据过大而影响性能及集群间的数据同步。 那
将java程序成为linux的系统服务
在分布式环境开发中经常会使用socket,或者使用rmi来对外提供服务,常用的办法是将写一个java代码,然后部署到服务器上,但是问题来了。如何将这个服务成为一个可靠的系统服务,不会应为风吹草动就挂了,那就不好了。 所以想到使用apache commons 下面的daemon框架来充当守护进程。首
我感受到的排序机制参考
人们总觉得这个搜索领域很多秘密,门槛如此之高,如此神秘。其实不是那么回事。基本的原理、流程理解了。就可以做到心中不慌。先了解机制,细节和具体才是难点,不要被难在开始!下面就结合实际经验积累,给出参考信息。不针对任何排序模型,只描述粗略内容。具体场景具体怎么高,私下交流。 提示:排序规则务必公开,否
Java Worker 设计模式
Worker模式 想解决的问题 异步执行一些任务,有返回或无返回结果 使用动机 有些时候想执行一些异步任务,如异步网络通信、daemon任务,但又不想去管理这任务的生命周。这个时候可以使用Worker模式,它会帮您管理与执行任务,并能非常方便地获取结果 结构 很多
垂直个性化排序之Solr如何支持
需求: 个性化得分排序:类似 Score= defaultTextScore*facetA + offlineValue*(1-factorA) 方案: 目前直接支持的排序、全部候选方案。推荐1 和2. 参见样例! 1: sort by (score, offlin
利用jinterface在java和erlang节点之间通讯
在分布式环境当中使用erlang语言来构建底层应用,利用erlang的简洁的脚本语言可以简化代码的复杂度,并且还能很大程度地提高系统的容错性和稳定性。 erlang固然有他的优势,但是,它在开源社区开发人员的活跃性远远不及java社区,在java社区中,在分布式场景中使用的中间件,比如,
查询问题---queryparse深入理解
查询问题,最直接的反馈就是页面出来的结果。然后牵扯到的问题就一步一步深入了。第一层:queryparse,其中关联分词,关联booleanquery orphrasequery,关联boost。。。。第二层:排序了,关联排序的策略、排序的得分公式第三层:各种转换、过滤、筛选后的页面结果这里重点将q.
Java正则引发的思考
情况回放: 上周预发机器出了一个问题,CPU不定时会近100%满负载运行。重启以后就会恢复,之后又会到达100%,而且不会自恢复。 首先想到的是程序出现了死循环,于是用jstack把栈打印出来,发现业务线程都停在了regex相关的代码上,有死循环的样子。 查看栈,发现一切都是由ClientFi
稳定性思考-强弱依赖
淘宝系统依赖关系比较复杂。A系统依赖B系统资源,当B系统发生故障的时候,A系统势必会被拖累,导致A系统也发生故障 图:[ A]--依赖-->[B] 这里的依赖要区分两种情况 1、A强依赖于B 任何强依赖都要尽可能的转化
TermRangeQuery源码解析
简单介绍下 在较早版本的 Lucene 中对一定范围内的查询RanageQuery 。该Query 继承于 MulitTermQuery,在重写(rewrite )Query 树的时候将会遵从一个原则: 根据起始区间值获取term, 然后遍历,根据满足条件的term 的数目来决定重写Query 的
Solr调优参考-续
solr调优步骤参考这篇blog主要以实践出发,从顶到底,从大到细的思路来进一步描述,solr优化,并且是基于横向发展来说的(管理更多core),对于纵向的(core内部、搜索核心技术)。 例如分词、queryparse、分词、实时、分布式的优化、排序等偏轻! 文章有不合理,或者错误的请及时反馈
海量存储之十六--一致性和高可用专题
很久木有和大家见面了,因为博主也需要时间来沉淀。。博主也需要学习和思考。。 好吧,不多废话,进入正题,今天我们谈的东西是一致性和安全性。 一致性这个问题,非常绕,想用语言表述,难度很大,我给别人去讲的时候,一般都是白板,因为白板有类似“动画”的效果,能够帮助别人理解,但使用文字,就没有办法了,只
海量存储之十七--一致性和高可用专题
-------三段提交改----------- 回顾上文,我们已经提到了,在两段提交协议里面有个“死等”的过程,那么我们来看看三段提交协议是怎么解决这个问题的,需要注意的是,3pc只是解决了死等问题,对脑裂没有贡献。用的也不多,我们只把它当做路边的小石头,理解了作为模型的一种,参考一下就行了。
海量存储之十八--一致性和高可用专题
我们已经在上面的分析中,我们已经看到observer模型在多机场景下的问题,所以,paxos模型的目标就是解决这个问题,他解决这个问题的方法就是quorum模型。 我的目标是让大家能弄明白,掌握这些复杂的概念,所以我也会将以前我在淘宝java中间件团队内分享时候,大家经常犯的一些错误,也写到【】里
海量存储之十九--一致性和高可用专题
--------Dynamo and Cassandra ---------- 这两套系统,其实是同源的,我其实不是很愿意来说这两套系统,因为他们用的技术比较学术化,所以比较复杂一些。。Anyway ,I'll try my best ! 提到这两个系统,他们在核心思路上是非常类似的,但有
Linux/Unix的精巧约定两例及其简析:目录权限和文本行数
学玩*nux时候,碰到的一些问题,弄明白了后也就过去了。今天看到旁边的同学对目录权限有些模糊,给解释了一下。想想不如把这些问题都记下来。 设计其实包含的是一套约定。能运行、解决问题的约定都是可用的约定。但解决的多种约定方式或说是设计中,作一些比较可以感觉到哪个会更统一更简单。下文提到的两例Linu