-
基于Dubbo框架构建分布式服务
转自:http://shiyanjun.cn/archives/1075.html 很好的文章 Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,…- 2
- 0
-
Netty websocket
Network protocols WebSocket是一种高级网络协议,旨在提高Web应用程序的性能和响应能力。 我们将通过编写示例应用程序来探索Netty对它们的支持。 在第12章中,您将学习如何使用WebSocket实现双向数据传输,方法是构建一个聊天室服务器,其中多个浏览器客户端可以实时通信。 您还将看到如何通过检测客户端是否支持它,从应用程序中的HTTP切换到WebSocket协议。 我…- 3
- 0
-
kafka原理系列之(三)replication机制(复制原理)和ISR机制(同步机制)
Kafka的高可靠性的保障来源于其健壮的副本(replication)策略。通过调节其副本相关参数, 可以使得Kafka在性能和可靠性之间运转的游刃有余。Kafka从0.8.x版本开始提供partition级别的复制, replication的数量可以在$KAFKA_HOME/config/server.properties中配置。 1default.replication.refactor 2 …- 111
- 0
-
RabbitMQ VS Apache Kafka (六)—— Kafka路由拓扑与消息模式
路由拓扑与消息模式 上一章我们介绍了有关RabbitMQ消息拓扑与路由模式,本章我们讨论Kafka的消息路由方式,我们将对比两者之间的不同。注意,接下来的对比将基于这样的一个上下文前提,应用是事件驱动架构而非数据处理作业流,尽管这两种类型的应用的区分界限并不是那么明朗。 第一个不同点在于对于Kafka来说,并没有重试和延迟消息模式。在RabbitMQ中,消息都是瞬时的,所以对于RabbitMQ来说…- 3
- 0
-
Kafka 中使用 Avro 序列化框架(二):使用 Twitter 的 Bijection 类库实现 avro 的序列化与反序列化
使用传统的 avro API 自定义序列化类和反序列化类比较麻烦,需要根据 schema 生成实体类,需要调用 avro 的 API 实现 对象到 byte[] 和 byte[] 到对象的转化,而那些方法看上去比较繁琐,幸运的是,Twitter 开源的类库 Bijection 对传统的 Avro API 进行了封装了和优化,让我们可以方便的实现以上操作。 1. 添加 Bijection 类库的依赖…- 2
- 0
-
Kafka的Leader的选举机制
卡夫卡的领袖是什么 首先卡夫卡会将接收到的消息分区(分区),每个主题(主题)的消息有不同的分区。这样一方面消息的存储就不会受到单一服务器存储空间大小的限制 ,另一方面消息的处理也可以在多个服务器上并行。 其次为了保证高可用,每个分区都会有一定数量的副本(复制品)。这样如果有部分服务器不可用,副本所在的服务器就会接替上来,保证应用的持续性。 但是,为了保证较高的处理效率,消息的读写都是在固定的一个副…- 59
- 0
-
Kafka实战-实时日志统计流程
1.概述 在《Kafka实战-简单示例》一文中给大家介绍来Kafka的简单示例,演示了如何编写Kafka的代码去生产数据和消费数据,今天给大家介绍如何去整合一个完整的项目,本篇博客我打算为大家介绍Flume+Kafka+Storm的实时日志统计,由于涉及的内容较多,这里先给大家梳理一个项目的运用这些技术的流程。下面是今天的内容目录: 项目流程 Flume Kafka Storm 下面开始今天的内容…- 2
- 0
-
Spring Boot整合Kafka
Kafka是一个分布式的、可分区的、可复制的消息系统,下面是Kafka的几个基本术语: Kafka将消息以topic为单位进行归纳; 将向Kafka topic发布消息的程序成为producers; 将预订topics并消费消息的程序成为consumer; Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker。 producers通过网络将消息发送到Kafka集群,集…- 3
- 0
-
C# 操作rabbitmq(二)
接着上一篇继续分析rabbitmq的使用,此篇介绍rabbitmq的publish/Subcribe 一、 Exchange rabbitmq建议消息的producer不要直接的把消息发送给queue,而是把消息发送给Exchange。 Exchange一边接收来自producer的消息,一边将消息push给queue。 rabbitmq提供了四种exchange type: direct :第三…- 0
- 0
-
AMQP-RabbitMQ/2/工作队列
2. 工作队列 Work queues Distributing tasks among workers 消息将发送给c1或者c2 个人理解 生产者定义Queue,并向该队列发送消息 多个消费者可以从指定的同一个Queue中读取消息。每条消息只会发送给其中某一个消费者。 生产者 1package com.futao.springmvcdemo.mq.rabbit.workqueue; 2 3imp…- 2
- 0
-
基于Python语言使用RabbitMQ消息队列(三)
发布/订阅 前面的教程中我们已经创建了一个工作队列。在一个工作队列背后的假设是每个任务恰好会传递给一个工人。在这一部分里我们会做一些完全不同的东西——我们会发送消息给多个消费者。这就是所谓的“发布/订阅”模式。 为了解释这种模式,我们将会构建一个简单的日志系统。它包含两个程序——第一个产生日志消息,第二个接收并把他们打印出来。 在我们的日志系统中,每一个接收程序的正在运行的拷贝都会获知消息,那样我…- 3
- 0
-
分布式Session的几种实现方式
一。分布式Session的几种实现方式 1.基于数据库的Session共享 2.基于NFS共享文件系统 3.基于memcached 的session,如何保证 memcached 本身的高可用性? 基于resin/tomcat web容器本身的session复制机制 基于TT/Redis 或 jbosscache 进行 session 共享。 基于cookie 进行session共享 或者是: 一…- 8
- 0
-
RabbitMQ基本概念
RabbitMQ基本概念 RabbitMQ简介 RabbitMQ的特点 RabbitMQ核心概念 Producer(生产者) 和 Consumer(消费者) Exchange(交换器) Queue(消息队列) Broker(消息中间件的服务节点) RabbitMQ简介 RabbitMQ是采用Erlang语言实现AMQP(Advanced Message Queuing Protocol)的消息中间…- 16
- 0
-
windows下安装rabbitMQ
博客地址:博客地址 本文转自:https://www.cnblogs.com/ericli-ericli/p/5902270.html 本文转自:https://www.cnblogs.com/ericli-ericli/p/5902270.html rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 E…- 2
- 0
-
14. Dubbo原理解析-集群&容错之Cluster
Dubbo作为一个分布式的服务治理框架,提供了集群部署,路由,软负载均衡及容错机制 下图描述了dubbo调用过程中的对于集群,负载等的调用关系。 Cluster 将Directory中的多个Invoker伪装成一个Invoker, 对上层透明,包含集群的容错机制 Cluster接口定义 @SPI(FailoverCluster.NAME) public interface Cluster …- 3
- 0
-
SpringBoot+zk+dubbo架构实践(三):部署Dubbo-admin管理平台
上一篇:SpringBoot+zk+dubbo架构实践(二):SpringBoot 集成 zookeeper 前言 1我们的架构实践已经进行一半了,今天这波操作比较轻松哦。同样我们完成两件事情。 21、Dubbo Git下载(2.6.0版本) 32、dubbo-admin安装和验证 4 再次声明一下:本系列架构实践不做深入探讨,主旨是带领大家能够快速踏入微服务架构门槛,能够轻松的搭建一套属于自己的…- 10
- 0
-
初识Dubbo 系列之3-Dubbo 快速启动
快速启动 (+) (#) Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。 1 如果不想使用Spring配置,而希望通过API的方式进行调用(不推荐),请参见:API配置 (+) 1 链接地址服务提供者 (#) 完整安装步骤,请参见:示例提供者安装 (+) 1 定义服务…- 9
- 0
-
Apache 开源的curator 基于Zookeeper实现分布式锁以及源码分析
前一段时间,我发表了一篇关于Redis实现分布式锁 分布式环境下利用Redis实现分布式锁,今天我带领大家熟悉用zookeeper实现分布式锁。 在学习分布式锁之前,让我们想一想,在什么业务场景下会用到分布式锁以及设计分布式锁要注意什么? 分布式锁介绍 1、在什么业务场景中会使用到分布式锁 当多个客户端访问服务器上同一个资源的时候,需要保证数据的一致性,比如秒杀系统,举个栗子: 某件商品在系统中的…- 2
- 0
-
curator分布式锁
长长的一生,总要勤勤恳恳,刻苦专研。把一件事情做到极致,不然,岂非白活了? 之前看kafka的时候发现他用的是curator来做leader选举的,突然灵机一动,咦,这不就是把ZK分布式锁封装了一下嘛,咦,那是不是这个也可以做分布式锁呢?“好奇心害死猫”,赶紧在pom里面dependency一下,抓下来源码来看看到底怎么肥事。先把源码贴上,具体的分析自己先分析一波,分析之后找时间再补充上来!!! …- 2
- 0
-
Golang 通过 Consul 实现分布式锁
Consul 是什么 Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对. 命令行超级好用的虚拟机管理软件 vgrant 也是 HashiCorp 公司开发的…- 5
- 0
-
Springcloud微服务项目——人力资源管理(HRM)Day11 单点登录SSO
sso简介 百度百科 什么是单点登录(What) 单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业登录业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统。 比如: Qq qq空间 qq游戏 qq邮箱 百度 百度百科 百度贴吧 百度网盘 为什么要使用sso(Why) 我们有多个前端站点,有多个站点是需…- 36
- 0
-
Springcloud微服务项目——人力资源管理(HRM)Day06 ElasticSearch
今日任务 课程的CRUD 关于数据库的存储 有两种方案 方案一: 像课程详情 课程图片 都是数据课程的信息 可知直接放入t_course 就ok 方案二: 有时候我们只需要查询到课程的基本信息 不需要显示图片和详情 这个时候我们就会用到垂直分表 垂直分表:一些字段我们一般不需要直接查询 就把这些字段单独放一个表 通过外键关联 正常情况下 不需要查询关联表 如果需要 就通过外键查询就ok 这样能大大…- 3
- 0
-
Spring Cloud微服务技术栈(一):浅谈Spring Cloud微服务
传统的单系统应用与微服务架构应用 在传统的企业级系统中,业务场景还不是那么复杂、并发量不高的时候,企业级开发者往往构建的都是单体系统,在一个项目中分布着前端、后端、数据访问等,这样基本能满足系统的日常使用,但是随着业务越来越繁琐,为了满足业务的要求,开发者必须不断地向单系统应用中添加模块,这样就导致这个单系统应用的执行效率越来越低,基本无法满足基本的并发要求了。同时,随着移动设备的大量涌现,多终端…- 7
- 0
-
微服务架构核心技术五
微服务的组织架构 传统企业组织团队为左边图,严格按照职能划分团队.沟通协调成本大,产品的反馈周期长,研发效率慢. 平台型互联网公司组织团队内部形成端到端闭环,开发、测试、项目经理都有.运维对外开放API供所有团队使用.一个团队12个人左右.(亚马逊提出build it/run it).优势是可以快速迭代.- 1
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!