分布式
红豆和绿豆
这个作者很懒,什么都没留下…
展开
-
如何解决大量访问一份配置数据
(1)现在有二个系统A,B二个系统,A系统是C端的一个系统,B系统是B端的一个系统,B系统DB有一套数据模型,A系统访问B系统获取这份配置数据,如何保证性能以及热点key问题?原创 2021-06-04 09:00:58 · 123 阅读 · 0 评论 -
针对B端开发,需要使用到哪些技术
1、针对页面设计不同的接口,说白了就是增删改查2、sql尽量单一,不要多表连查 从业务层做逻辑3、DB使用orm使用mybatis 进行开发4、DB的隔离级别 RR级别就可以。5、Spring 事物的传播特性需要注意6、对于分库分表的需求,使用中间件。7、事物+sql锁才能保证数据的唯一性,对于一般先查询,在插入 也会出现并发的case 因此使用分布式锁来解决8、对于耗时的操作,可以使用异步线程,落流水。如果异步执行失败,落任务, 启动定时任务拉起数据,然后在次执行9、对于.原创 2021-02-27 17:08:41 · 868 阅读 · 0 评论 -
分布式开发--数据库中间件
https://www.cnblogs.com/grefr/p/6087942.html(主要讲解各种数据库备份)目前数据库中间件有很多,基本这些中间件在下都有了解和使用,各种中间件优缺点及使用场景也都有些心的。所以总结一个关于中间件比较的系列,希望可以对大家有帮助。1. 什么是中间件传统的架构模式就是 应用连接数据库直接对数据进行访问,这种架构特点就是简单方便。转载 2017-12-20 15:12:05 · 1114 阅读 · 0 评论 -
分布式开发--分布式事物
转载:http://blog.jobbole.com/89140/前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表转载 2017-12-11 20:01:29 · 299 阅读 · 0 评论 -
分布式开发--分布式内存管理
背景:随着微服务的不断发展,业务越来越复杂,产品的要求也是越来越多,因此随时更改内存中变量的值是很重要的。方法:可以使用java规范中的jmx,java management extension,开源的框架有http://www.open-open.com/37.htm原创 2017-12-09 17:46:58 · 328 阅读 · 0 评论 -
分布式开发--分布式消息中间件
当前各种 RPC 中间件技术已经广泛应用于各个领域。其中,服务器之间消息通讯这种功能广泛应用于这些中间件中,于是,将这种面向消息的中间件( Message Oriented Middleware , MOM )抽象出来,形成通用的消息中间件,成为业内主流。目前消息中间件的标准主要有: JMS 和 AMQP 。实现则是百花齐放。消息中间件从功能上需要解决以下问题: 1. 同步或异步的消息转载 2017-12-09 17:14:12 · 283 阅读 · 0 评论 -
分布式开发--分布式追踪系统
一、为什么需要分布式调用跟踪系统随着分布式服务架构的流行,特别是微服务等设计理念在系统中的应用,业务的调用链越来越复杂,可以看到,随着服务的拆分,系统的模块变得越来越多,不同的模块可能由不同的团队维护,一个请求可能会涉及到几十个服务的协同处理, 牵扯到多个团队的业务系统,那么如何快速准确的定位到线上故障?同时,缺乏一个自上而下全局的调用id,如何有效的进行相关的转载 2017-12-09 13:30:01 · 456 阅读 · 0 评论 -
分布式开发--分布式定时任务
一:我们先思考下面几个业务场景的解决方案:- 支付系统每天凌晨1点跑批,进行一天清算,每月1号进行上个月清算- 淘宝整点抢购,商品价格8点整开始优惠- 12306购票系统,超过30分钟没有成功支付订单的,进行回收处理- 商品成功发货后,需要向客户发送短信提醒>类似的业务场景非常多,我们怎么解决?二:为什么我们需要定时任务 很多业务场景需要我转载 2017-12-12 14:46:53 · 1394 阅读 · 0 评论 -
分布式锁的背景
APP新上线了导入通讯录好友功能,测试的同学发现,连续点击导入会导入重复数据:客户端同一个用户同时发出了多个请求,分布式环境下,多台机器上部署的多个service进行了并发操作,故插入了冗余数据。解决思路:同一个用户同时只能有一个导入请求,需要做互斥,最简易的方案,使用setnx快速解决。(1)同一个用户,多个service进行并发操作,service需要先去抢锁(2)抢到...转载 2018-08-26 18:47:17 · 358 阅读 · 0 评论 -
分布式Session共享解决方案
Session是服务器用来保存用户操作的一系列会话信息,由Web容器进行管理。单机情况下,不存在Session共享的情况,分布式情况下,如果不进行Session共享会出现请求落到不同机器要重复登录的情况,一般来说解决Session共享有以下几种方案。1、session复制session复制是早期的企业级的使用比较多的一种服务器集群session管理机制。应用服务器开启web容器的sessi...转载 2018-08-26 20:10:54 · 19128 阅读 · 4 评论 -
Spring Data实现分布式共享session
1、自定义HttpSession实现Sessionhttps://www.cnblogs.com/youzhibing/p/7348337.html2、Spring整合Jedis2.9(集群带密码版)https://blog.csdn.net/cslucifer/article/details/785868093、Spring Session解决分布式Session问题的实现原理...转载 2018-08-26 22:11:18 · 250 阅读 · 0 评论 -
分布式session的方案
1、如何实现分布式session,保证在分布式的条件下让用户只登陆一次就可以?方案:(一):使用cookie+tair的方式实现 cookie存放sessionid给服务端,服务端根据sessionid获取tair中具体的session信息(二)使用Spring-session的方式实现 这种方式,更加方便,跟方案(一)类似,只是spring帮我们更好的将这...原创 2019-10-05 21:49:12 · 129 阅读 · 0 评论 -
如何实现单点登录和权限控制
在分布式的环境下,如何实现用户的单点登录以及权限控制?(1)可以使用开源软件CAS, CAS的客户端支持java,/net,php等语言 CAS的server支持多种登录方式,用户名,密码,图形。以及手机号和验证码,微信登录如果业务是分布式开发,则需要与spring session联合使用,存储用户的登录状态。或者使用cookie的方式在登录控...原创 2019-10-05 22:25:16 · 1427 阅读 · 2 评论 -
后端程序员需要学会的分布式中间件
分布式服务:dubbo,gprc,springcloud分布式消息:notify,metaq分布式缓存:tair,memcache,redis分布式调度:scheduler分布式数据库分库分表中间件:分布式搜索:es分布式事务:xts,txc分布式计算:flink,storem,spark分布式幂等组件分布式锁:tair,redis实现分布式文件系统:hdf...原创 2019-10-05 22:51:05 · 498 阅读 · 0 评论 -
分布式trace实现系统治理
日志拉取客户端logstash、flume日志存储中间件缓存:kafka日志实时处理flink,storm,spark都可以处理结果存放:es,hbase,redis业内实现开源的Open TracingopenTracing是为了解决不同系统之间的兼容性设计的,现在也成为了各个第三方Trace系统的依赖的规范。 Twitter的Zipin ...原创 2019-10-05 23:06:31 · 845 阅读 · 0 评论 -
微服务框架的存储架构
web应用从单点向高并发架构演变时往往遇到最大的问题就是数据库的分布式存储。因为web应用本身就可以集群部署,但其所使用的数据库确是单点的。如果一个web应用开始的时候没有考虑数据库的分布式架构,那么等到要进行数据库集群改造时会发现困难重重,此时通常的做法是将原系统拆分成多个子系统,然后每个子系统访问一个数据库,这几乎重写了整个系统(如果这还不能满足需求,大型企业接下来会增加数据存储总线)。很多厂转载 2016-11-21 10:43:53 · 1550 阅读 · 0 评论 -
阿里中间件——消息中间件Notify和MetaQ
3.1、NotifyNotify是淘宝自主研发的一套消息服务引擎,是支撑双11最为核心的系统之一,在淘宝和支付宝的核心交易场景中都有大量使用。消息系统的核心作用就是三点:解耦,异步和并行。下面让我以一个实际的例子来说明一下解耦异步和并行分别所代表的具体意义吧:假设我们有这么一个应用场景,为了完成一个用户注册淘宝的操作,可能需要将用户信息写入到用户库中,然后通知给红包中心给用户发新手转载 2016-03-22 15:40:13 · 710 阅读 · 0 评论 -
深入浅出 RPC - 浅出篇
http://blog.csdn.net/mindfloating/article/details/39473807近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。在平时的日常开发中我们都在隐式或显式的使用 RPC,一些刚入行的程序员会感觉 RPC 比较神秘,而一些有多年使用 RPC 经验的程序员虽然使用经验丰富,但有些对转载 2016-07-15 10:31:20 · 502 阅读 · 0 评论 -
深入浅出 RPC - 深入篇
http://blog.csdn.net/mindfloating/article/details/39474123《深入篇》我们主要围绕 RPC 的功能目标和实现考量去展开,一个基本的 RPC 框架应该提供什么功能,满足什么要求以及如何去实现它?RPC 功能目标RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语转载 2016-07-15 10:32:31 · 434 阅读 · 0 评论 -
Java实现Redis的消息订阅和发布
http://blog.csdn.net/u011734144/article/details/51782085首先需要一个消息监听器类[html] view plain copy package com.sogou.baike.testimport.testSubscribe; import redis.c转载 2016-08-03 17:46:04 · 1849 阅读 · 0 评论 -
2PC
2PC(Two Phase Commitment Protocol)实现分布式事务的关键就是两阶段提交协议。在此协议中,一个或多个资源管理器的活动均由一个称为事务协调器的单独软件组件来控制。此协议中的五个步骤如下:· 应用程序调用事务协调器中的提交方法。· 事务协调器将联络事务中涉及的每个资源管理器,并通知它们准备提交事务(这是第一阶段的开始)。· 为 了以肯定的方转载 2016-08-01 09:25:29 · 339 阅读 · 0 评论 -
如何快速搭建HBase结群
网址保留:Build and install Ambari 2.2.2 from Source原创 2016-08-16 15:24:32 · 480 阅读 · 0 评论 -
ZooKeeper实现分布式队列Queue
http://www.aboutyun.com/thread-6819-1-1.html前言ZooKeeper是一个分步式的协作系统,何为协作,ZooKeeper价值又有何体现。关于ZooKeeper的基本使用,请参考:ZooKeeper伪分步式集群安装及java编程命令操作目录分布式队列设计思路程序实现1. 分布式队列队列有很多种产品,转载 2016-08-06 11:09:06 · 1275 阅读 · 1 评论 -
分布式队列编程模型、实战
http://www.open-open.com/lib/view/open1470275755113.html介绍作为一种基础的抽象数据结构,队列被广泛应用在各类编程中。大数据时代对跨进程、跨机器的通讯提出了更高的要求,和以往相比,分布式队列编程的运用几乎已无处不在。但是,这种常见的基础性的事物往往容易被忽视,使用者往往会忽视两点:使用分布式队列的时候,没有意识到转载 2016-08-06 11:22:55 · 1786 阅读 · 0 评论 -
海量小文件存储tfs
http://code.taobao.org/p/tfs/wiki/get/TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各转载 2016-08-07 11:11:39 · 2172 阅读 · 0 评论 -
分布式服务框架
dubbo以及dubbox框架是包装了RPC的soa服务化的调用。http://www.cnblogs.com/yjmyzz/p/dubbox-demo.html这篇文章讲解的比较详细原创 2016-08-08 11:14:01 · 326 阅读 · 0 评论 -
分布式服务框架HSF学习
HSF提供的是分布式服务开发框架,taobao内部使用较多,总体来说其提供的功能及一些实现基础:1.标准Service方式的RPC 1)、Service定义:基于OSGI的Service定义方式 2)、TCP/IP通信: IO方式:nio,采用mina框架 连接方式:长连接 服务器端有限定大小的连接池 WebService方式 3)、序列化:H转载 2016-08-08 13:59:32 · 2778 阅读 · 0 评论 -
开源实时日志分析ELK平台部署
开源实时日志分析ELK平台部署日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务转载 2016-08-15 09:54:29 · 2258 阅读 · 0 评论 -
Redis实现分布式锁通用工具
import java.net.InetAddress; import java.net.UnknownHostException; import javax.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import转载 2016-09-08 11:40:34 · 1269 阅读 · 0 评论 -
分布式锁的三种实现方式
一、zookeeper1、实现原理:基于zookeeper瞬时有序节点实现的分布式锁,其主要逻辑如下(该图来自于IBM网站)。大致思想即为:每个客户端对某个功能加锁时,在zookeeper上的与该功能对应的指定节点的目录下,生成一个唯一的瞬时有序节点。判断是否获取锁的方式很简单,只需要判断有序节点中序号最小的一个。当释放锁的时候,只需将这个瞬时节点删除即可。同时,其可以避免服务宕机转载 2016-09-08 13:55:21 · 515 阅读 · 0 评论 -
ActiveMQ安装优化
ActiveMQ性能测试http://m.blog.csdn.net/blog/brushli/417506151、下载ActiveMQ 官网:http://activemq.apache.org/2、安装ActiveMQ 解压压缩包即可直接使用3、修改端口号、账号密码 默认连接端口为61616,按如下我把它修改为61617: vi conf/act转载 2016-11-14 19:52:36 · 276 阅读 · 0 评论 -
RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总
本文转载自:http://blog.csdn.net/linsongbin1/article/details/47781187----------------------------------------------------------------------------------------------------MQ框架非常之多,比较流行的有RabbitMq、Activ转载 2016-11-14 19:56:38 · 264 阅读 · 0 评论 -
分布式的计算模型
master-slave(一般分布式集群采用这种方式)包工头-职介所-工人-数据仓库包工头与工人的通讯有二中方式,一种是直接通讯,另一种是通过消息中枢基于消息中枢的通信有优点,也有缺点优点就是:包工头即master节点可以与工人不在一个网络,不直接与工人接触,直接将消息传递给消息中枢缺点:master不能获取没一个工人的执行的具体信息,位置信息,等原创 2016-02-16 14:29:05 · 561 阅读 · 0 评论