Dubbo -- 分布式系统的相关概念(大型互联网项目架构目标 集群和分布式 架构演进)Dubbo概述(Dubbo的概念和架构)Dubbo快速入门(Zookepper的安装:注册中心中心)

Posted CodeJiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dubbo -- 分布式系统的相关概念(大型互联网项目架构目标 集群和分布式 架构演进)Dubbo概述(Dubbo的概念和架构)Dubbo快速入门(Zookepper的安装:注册中心中心)相关的知识,希望对你有一定的参考价值。

文章目录

1. 分布式系统的相关概念


1.1 大型互联网项目架构目标

1.1.1 传统项目 vs 互联网项目

传统项目是面向企业员工的,互联网项目是面向网民的。

互联网项目的特点:

  1. 用户多
  2. 流量大
  3. 并发高海量数据
  4. 易受攻击
  5. 功能繁琐变更

1.1.2 大型互联网项目架构目标

  1. 高性能:提供快速的访问体验。
  2. 高可用:网站服务一直可以正常访问。
  3. 可伸缩:通过硬件增加/减少,提高/降低处理能力。
  4. 高可扩展:系统间耦合低,方便的通过新增/移除方式,增加/减少新的功能/模块。
  5. 安全性:提供网站安全访问和数据加密,安全存储等策略。
  6. 敏捷性:随需应变,快速响应。

1.1.3 衡量网站的性能指标

  • 响应时间:指执行一个请求从开始到最后收到响应数据所花费的总体时间。
  • 并发数:指系统同时能处理的请求数量。
    • 并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器连接的总TCP数量。
    • 请求数:也称为QPS(Query Per Second) 指每秒多少请求。
    • 并发用户数:单位时间内有多少用户。
  • 吞吐量:指单位时间内系统能处理的请求数量。
    • QPS:Query Per Second 每秒查询数。
    • TPS:Transactions Per Second 每秒事务数。
    • 一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
    • 一个页面的一次访问,只会形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,就会有多个QPS

1.2 集群和分布式

  • 集群:很多“人”一起 ,干一样的事。
    • 一个业务模块,部署在多台服务器上。
  • 分布式:很多“人”一起,干不一样的事。这些不一样的事,合起来是一件大事。
    • 一个大的业务系统,拆分为小的业务模块,分别部署在不同的机器上。

最开始:业务模块直接杂糅在一台服务器上面。

集群:一个业务模块,部署在多台服务器上。

集群分布式:集群的基础上把模块拆分部署到多台机器上面。


1.3 架构演进


1.3.1 单体架构


1.3.2 垂直架构


1.3.3 分布式架构


1.3.4 SOA架构


1.3.5 微服务架构


2. Dubbo概述


2.1 Dubbo概念

  • Dubbo是阿里巴巴公司开源的一个高性能、轻量级的 Java RPC 框架。(现已被收录为Apache的顶级项目) ,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。
    • RPC: Remote Procedure Call 远程过程调用。有非常多的协议和技术来都实现了RPC的过程。比如:HTTP REST风格,Java RMI规范、WebService SOAP协议、Hession等等。
    • SOA:(Service-Oriented Architecture,面向服务的架构)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。
  • 官网:http://dubbo.apache.org


2.2 Dubbo架构

Dubbo架构 官方文档说明:https://dubbo.apache.org/zh/docs/concepts/service-discovery/

  • Provider:暴露服务的服务提供方 。
  • Container:服务运行容器 。
  • Consumer:调用远程服务的服务消费方 。
  • Registry:服务注册与发现的注册中心。
  • Monitor:统计服务的调用次数和调用时间的监控中心 。

3. Dubbo快速入门


3.1 Zookepper的安装


3.1.1 环境准备

ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。


3.1.2 上传并解压

Zookeeper下载地址:https://archive.apache.org/dist/zookeeper/

这是我下载好的。

将下载的ZooKeeper放到/opt/ZooKeeper目录下并解压。

# 创建 /opt/zooKeeper 目录
mkdir -p /opt/zooKeeper
# 进入 /opt/zooKeeper 目录
cd /opt/zooKeeper
# 解压安装包
tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz


3.1.3 配置启动

进入到conf目录拷贝一个zoo_sample.cfg并完成配置

#进入到conf目录
cd /opt/zooKeeper/apache-zookeeper-3.5.6-bin/conf
#拷贝
cp  zoo_sample.cfg  zoo.cfg

修改zoo.cfg

#创建zooKeeper存储目录
mkdir -p /opt/zooKeeper/zkdata
#修改zoo.cfg
vim ./zoo.cfg


3.1.4 启动ZooKeeper

# 进入 /opt/zooKeeper/apache-zookeeper-3.5.6-bin/bin 目录
cd /opt/zooKeeper/apache-zookeeper-3.5.6-bin/bin
# 启动zookeeper
./zkServer.sh  start


3.1.5 查看ZooKeeper状态

zookeeper启动成功。standalone代表zk没有搭建集群,现在是单节点。
zookeeper没有启动(可以使用 ./zkServer.sh stop来停止zookeeper


3.2 Dubbo快速入门代码编写

Dubbo快速入门代码编写



以上是关于Dubbo -- 分布式系统的相关概念(大型互联网项目架构目标 集群和分布式 架构演进)Dubbo概述(Dubbo的概念和架构)Dubbo快速入门(Zookepper的安装:注册中心中心)的主要内容,如果未能解决你的问题,请参考以下文章

Dubbo 分布式系统中的相关概念 Dubbo概述 Dubbo高级特性

SpringCloud Alibaba系列Dubbo基础入门篇

Dubbo -- dubbo高级特性(序列化 地址缓存 超时与重试机制 多版本:灰度发布 负载均衡 集群容错策略 服务降级)

dubbo + zookeeper的相关应用

分布式相关概念

dubbo总结