跟我一起学架构
文章平均质量分 88
跟我一起从零开始学架构
_单眼皮男生_
阳光乐观
展开
-
mongodb企业级应用管理
概要:mongoDB的聚合操作 mongodb 集群:复制 mongodb 集群:分片 一、 mongoDB的聚合操作知识点:pipeline 聚合 mapRedurce 聚合 在聚合中使用索引 1.pipeline 聚合pipeline相关运算符:$match :匹配过滤聚合的数据 $project:返回需要聚合的字段 $group:统计聚合数据示例...原创 2019-01-24 10:35:05 · 411 阅读 · 0 评论 -
mongoDb快速入手
大纲:1、MongoDb的体系结构2、MongoDb安装配置与基础命令3、MongoDB CRUD与全文索引 一、MongoDb的体系结构概要:NoSql的概念 NoSql的应用场景 MongoDb的逻辑组成 1、NoSql的概念NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是 [SQL](https://baike.baidu.com/...原创 2019-01-24 10:31:01 · 415 阅读 · 0 评论 -
sharding-sphere 安装使用
分布式主键传统数据库软件开发中,主键自动生成技术是基本需求。而各个数据库对于该需求也提供了相应的支持,比如MySQL的自增键,Oracle的自增序列等。 数据分片后,不同数据节点生成全局唯一主键是非常棘手的问题。同一个逻辑表内的不同实际表之间的自增键由于无法互相感知而产生重复主键。 虽然可通过约束自增主键初始值和步长的方式避免碰撞,但需引入额外的运维规则,使解决方案缺乏完整性和可扩展性。i...原创 2019-01-24 10:24:32 · 5049 阅读 · 0 评论 -
shardingsphere 源码分析
JDBC熟悉:java.sql.Connection 数据库连接对象javax.sql.DataSource 连接到数据源对象java.sql.Statement 编译sqljava.sql.PreparedStatement 预编译sqljava.sql.ResultSet 查询返回结果 SS源码分析参考下:http://shardingsph...原创 2019-01-24 10:21:46 · 3364 阅读 · 0 评论 -
sharding-sphere 快速开始与核心概念
Sharding-sphere:Github:https://github.com/sharding-sphere/sharding-sphere官网:http://shardingsphere.io/index_zh.html ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Shardi...原创 2019-01-24 10:18:17 · 2849 阅读 · 1 评论 -
传统数据库瓶颈解决:分库分表
什么是分库分表:一个数据库一张表分成N小表不把鸡蛋放在一个篮子里 为什么需要分库分表:业务越来越大,单表数据超出了数据库支持的容量。持久化磁盘IO,传统的数据库性能瓶颈,产品经理业务必须这么做改变程序。数据库下刀子切分优化换数据库(缓存) Sql、索引、字段优化 读写分离(业务有关优化) 分库分表(业务) 分区读写分离: 什么是读写分离:我们一般应用...原创 2019-01-24 10:15:51 · 1329 阅读 · 1 评论 -
高性能消息中间件Kafka实战
Kafka简介Kafka是一种高吞吐量的分布式发布订阅消息系统,使用Scala编写。对于熟悉JMS(Java Message Service)规范的同学来说,消息系统已经不是什么新概念了(例如ActiveMQ,RabbitMQ等)。Kafka拥有作为一个消息系统应该具备的功能,但是确有着独特的设计。可以这样来说,Kafka借鉴了JMS规范的思想,但是确并没有完全遵循JMS规范。...原创 2019-01-23 11:14:40 · 500 阅读 · 0 评论 -
Kafka集群管理工具kafka-manager的安装使用
一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作。具体支持以下内容:管理多个集群 轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分发) 运行首选副本选举 使用选项生成分区分配以选择要使用的代理 运行分区重新分配(基于生成的分配) 使用可选主题配...原创 2019-01-23 11:13:15 · 402 阅读 · 0 评论 -
kafka集群搭建与使用
Kafka简介Kafka是一种高吞吐量的分布式发布订阅消息系统,使用Scala编写。对于熟悉JMS(Java Message Service)规范的同学来说,消息系统已经不是什么新概念了(例如ActiveMQ,RabbitMQ等)。Kafka拥有作为一个消息系统应该具备的功能,但是确有着独特的设计。可以这样来说,Kafka借鉴了JMS规范的思想,但是确并没有完全遵循JMS规范。...原创 2019-01-23 10:58:57 · 475 阅读 · 0 评论 -
Rocketmq源码分析
Consumer端: RocketMQ提供了两种消费模式:PUSH(pull进行监听)和PULL(长轮训)1. Push 方式:rocketmq 已经提供了很全面的实现, consumer 通过长轮询拉取消息后回调MessageListener 接口实现完成消费, 应用系统只要 MessageListener 完成业务逻辑即可Pull 方式:完全由业务系统去控制,定时拉取消...原创 2019-01-23 10:41:56 · 391 阅读 · 0 评论 -
Rocketmq特性详解&场景介绍
Rocketmq特性详解&场景介绍整体认识rocketmq架构: 整体认识:远程通讯,发送消息,存储消息。 概念:Producer:消息生产者,负责产生消息,一般由业务系统负责产生消息Consumer:消息消费者,负责消费消息,一般是后台系统负责异步消费Topic:消息主题,负责标记一类消息,生产者将消息发送到Topic,消费者从该Topic...原创 2019-01-23 10:38:10 · 2118 阅读 · 0 评论 -
消息中间件:RocketMq部署
分布式消息中间件rocketmq 架构图 消息中间件和RPC最大区别:Broker Cluster存储 首先来提问下:我们为什么要用消息中间件? 什么是消息中间件,有哪些中间件了?3、为什么是rocketmq 大家可以先尝试部署下rocketmq环境,并且我会在课上把这些问题告诉大家。1、环境192.168.0.31192.168....原创 2019-01-03 10:24:37 · 1108 阅读 · 1 评论 -
消息中间件:什么是JMS
Java Message ServiceJMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS允许应用程序组件基于JavaEE平台创建、发送、接收和读取...原创 2019-01-03 10:21:38 · 348 阅读 · 0 评论 -
Redis集群运维&原理分析
我的专栏文章 跟我一起学架构目录Redis特性介绍与实操Redis集群演变过程&集群部署Redis集群运维&原理分析Redis3.0以后的版本虽然有了集群功能,提供了比之前版本的哨兵模式更高的性能与可用性,但是集群的水平扩展却比较麻烦,今天就来带大家看看redis高可用集群如何做水平扩展,原始集群(见下图)由6个节点组成,6个节点分布在三台机器上,采用三主三从的模...原创 2019-01-03 10:13:18 · 8595 阅读 · 2 评论 -
Redis集群演变过程&集群部署
1、Redis集群方案比较 哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况,而且哨兵模式只有一个主节点对外提供服务,没法支持很高的并发,且...原创 2018-12-20 10:23:38 · 500 阅读 · 0 评论 -
Redis特性介绍与实操
Redis 基础数据结构Redis 有 5 种基础数据结构,分别为:string (字符串)、list (列表)、set (集合)、hash (哈希) 和 zset (有序集合)。string (字符串)字符串 string 是 Redis 最简单的数据结构。Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数...原创 2018-12-18 10:28:22 · 245 阅读 · 0 评论 -
分布式架构-Dubbo框架(四):Dubbo调用模块详解
概要:一、Dubbo 调用模块基本组成二 、Dubbo 调用非典型使用场景三、调用通信内部实现源码分析一、Dubbo 调用模块基本组成Dubbo调用模块概述:dubbo调用模块核心功能是发起一个远程方法的调用并顺利拿到返回结果,其体系组成如下:**透明代理:**通过动态代理技术,屏蔽远程调用细节以提高编程友好性。**负载均衡:**当有多个提供者是,如何选择哪个进行调用的负载算法...原创 2018-12-04 09:54:31 · 855 阅读 · 0 评论 -
分布式架构-Dubbo框架(三):Dubbo 企业级应用进阶
课程概要:分布式项目开发与联调控制管理后台使用Dubbo注册中心详解一、分布式项目开发与联调接口暴露与引用在一个RPC场景中 ,调用方是通过接口来调用服务端,传入参数并获得返回结果。这样服务端的接口和模型必须暴露给调用方项目。服务端如何暴露呢?客户端如何引用呢?接口信息、模型信息、异常 暴露接口的通常做法是 接口与实现分离,服务端将 接口、模型、异常 等统一放置于一个模...原创 2018-11-29 14:46:30 · 723 阅读 · 0 评论 -
分布式架构-Dubbo框架(二):快速掌握Dubbo常规应用
概要:Dubbo 快速入门 Dubbo 常规配置说明一、Dubbo 快速入门Dubbo核心功能解释dubbo 阿里开源的一个SOA服务治理框架,从目前来看把它称作是一个RPC远程调用框架更为贴切。单从RPC框架来说,功能较完善,支持多种传输和序列化方案。所以想必大家已经知道他的核心功能了:就是远程调用。 快速演示Dubbo的远程调用实现步骤创建服务端项目 引入...原创 2018-11-27 10:37:41 · 317 阅读 · 0 评论 -
分布式架构-Dubbo框架(一):从0到1整体认知分布式系统
概要:分布式架构的发展历史与背景 如何着手架构一套分布示式系统 Dubbo 架构与设计说明 一、分布式架构的发展历史与背景场景一:一家做政务OA系统的公司老板发现跟竞争对手比发现自己的系统的架构不是分布示的,找到技术负责人问,把系统架构升级成分布示架构要多长时间?技术负责人网上查了查dubbo官网看了看 Demo 这不很简单吗,拍着胸脯一个月能升级好。现在我的问题是:这位...原创 2018-11-23 21:44:39 · 832 阅读 · 0 评论 -
zookeeper学习笔记(四)zkclient客户端api详解文档
一、ZkClientZkClient是由Datameer的工程师开发的开源客户端,对Zookeeper的原生API进行了包装,实现了超时重连、Watcher反复注册等功能。maven依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <arti...原创 2018-11-20 22:51:59 · 761 阅读 · 0 评论 -
zookeeper学习笔记(二)Zookeeper伪分布式集群搭建
Zookeeper伪分布式集群搭建描述伪分布式集群就是在一台机器部署多个zk应用,部署之前服务器需要有jdk环境 java -version可以显示相关java信息才可以进行zookeeper搭建二、步骤>第一步下载好zookeeper-3.4.9.tar.gz>然后解压tar zxvf zookeeper-3.4.9.tar.gz>进入zk中的c...原创 2018-11-20 21:55:41 · 185 阅读 · 0 评论 -
zookeeper学习笔记(三)--zkclient&curator详解
Zookeeper核心概念 分布式配置中心(存储):disconf(zk) diamond(mysql+http)什么是znode ZooKeeper操作和维护的为一个个数据节点,称为 znode,采用类似文件系统的层级树状结构进行管理。如果 znode 节点包含数据则存储为字节数组(byte array)。创建 znode 时需要指定节点类型znode 共有 4...原创 2018-11-18 18:07:40 · 596 阅读 · 0 评论 -
zookeeper学习笔记(一)--快速入门与集群部署
一、分布式系统面临的挑战 什么是分布式 分布式的特点 分布式技术 分布式面临的问题 进程与进程之间一、单体架构Jvm内部调用 单点故障二、集群架构 分布式session问题》session center解决 redis 数据库 读写分离降低主库的查询、业务:读多写少、主从同步Proxy:mycat、altas、mysql-proxy...原创 2018-11-18 18:04:09 · 302 阅读 · 0 评论 -
分布式之Netty介绍与实战(五)--Netty-RPC框架实战
基于Netty实现RPC框架背景:微服务微服务挑战之一:微服务间的通信如何实现微服务之间的通信,而不带来性能瓶颈?RPC构建需要考虑的主要因素通信协议文本协议或二进制协议(RESTful with JSON or RPC with Binary Encoding)支持的调用方式:单向、双向、StreamingAPI容错、可伸缩性….主流RPC框架RPC框架...原创 2018-11-11 20:16:54 · 253 阅读 · 0 评论 -
分布式之Netty介绍与实战(四)--Netty编解码编程实战
半包粘包问题示例与分析Netty半包粘包问题解决Netty编解码器分析半包粘包问题示例与分析TCP/IP协议面向“流”协议 MSS: Maxitum Segment Size最大分段大小,表示TCP数据包每次能够传输的最大数据分段 发送方/接收方缓冲区 Nagle算法(顺序出现)粘包/拆包解决思路基本思路就是不断从TCP缓冲区中读取数据,每次读取完都需要判断是否是一个完整...原创 2018-11-04 21:53:27 · 261 阅读 · 0 评论 -
分布式之Netty介绍与实战(三)--Netty线程模型解析
Reactor模式及其与Netty的对应关系Reactor模式Douglas C. Schmidt 1995年提出An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous EventsScalable IO in Java - Doug Leahttp://gee.cs...原创 2018-11-02 22:24:05 · 221 阅读 · 0 评论 -
分布式之Netty介绍与实战(二)--Netty编程实践
目录分布式之Netty介绍与实战(一)--Java IO与NIO分布式之Netty介绍与实战(二)--Netty编程实践分布式之Netty介绍与实战(三)--Netty线程模型解析分布式之Netty介绍与实战(四)--Netty编解码编程实战Netty是什么Netty 提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序...原创 2018-11-02 09:17:04 · 545 阅读 · 0 评论 -
分布式之Netty介绍与实战(一)--Java IO与NIO
目录分布式之Netty介绍与实战(一)--Java IO与NIO分布式之Netty介绍与实战(二)--Netty编程实践分布式之Netty介绍与实战(三)--Netty线程模型解析分布式之Netty介绍与实战(四)--Netty编解码编程实战Linux IO流程lLinux IO流程:等待数据准备好(Waiting for the data to be ready)...原创 2018-10-28 20:59:21 · 316 阅读 · 0 评论 -
深入理解Java虚拟机(四)——JVM性能调优监控工具
目录深入理解Java虚拟机(一)——JVM整体架构深入理解Java虚拟机(二)——类加载器深入解析深入理解Java虚拟机(三)——JVM内存结构+JVM执行引擎深入理解Java虚拟机(四)——JVM性能调优监控工具Jinfo查看正在运行的Java应用程序的扩展参数查看jvm的参数查看java系统参数Jstatjstat命令可以查看堆内存各部分...原创 2018-10-28 11:56:38 · 864 阅读 · 0 评论 -
深入理解Java虚拟机(三)——JVM内存结构+JVM执行引擎
目录深入理解Java虚拟机(一)——JVM整体架构深入理解Java虚拟机(二)——类加载器深入解析深入理解Java虚拟机(三)——JVM内存结构+JVM执行引擎深入理解Java虚拟机(四)——JVM性能调优监控工具JVM内存结构•本地方法栈(线程私有):登记native方法,在Execution Engine执行时加载本地方法库•程序计数器(线程私有):就是一个指针...原创 2018-10-28 11:43:37 · 1252 阅读 · 1 评论 -
深入理解Java虚拟机(二)——类加载器深入解析
目录深入理解Java虚拟机(一)——JVM整体架构深入理解Java虚拟机(二)——类加载器深入解析深入理解Java虚拟机(三)——JVM内存结构+JVM执行引擎深入理解Java虚拟机(四)——JVM性能调优监控工具类加载过程•类加载:类加载器将class文件加载到虚拟机的内存 •加载:在硬盘上查找并通过IO读入字节码文件•连接:执行校验、准备、解析(可选)步骤•...原创 2018-10-28 11:29:35 · 644 阅读 · 0 评论 -
深入理解Java虚拟机(一)——JVM整体架构
目录深入理解Java虚拟机(一)——JVM整体架构深入理解Java虚拟机(二)——类加载器深入解析深入理解Java虚拟机(三)——JVM内存结构+JVM执行引擎深入理解Java虚拟机(四)——JVM性能调优监控工具 JVM整体架构•JVM(虚拟机):指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VM...原创 2018-10-28 11:20:01 · 1312 阅读 · 0 评论