当前位置: 首页 > news >正文

怎么样免费做自己的网站网站建设指数是什么意思

怎么样免费做自己的网站,网站建设指数是什么意思,企业培训方案制定,新网站 seoDubbo基本原理和用法讲解 序言:学习一项新技术,一般从是什么、为什么、怎么用三个方面进行学习。本篇文章也不例外,笔者将从Dubbo是什么?、为什么会产生Dubbo技术?、如何在项目中使用Dubbo技术。最后,笔者…

Dubbo基本原理和用法讲解

序言:学习一项新技术,一般从是什么、为什么、怎么用三个方面进行学习。本篇文章也不例外,笔者将从Dubbo是什么?、为什么会产生Dubbo技术?、如何在项目中使用Dubbo技术。最后,笔者将结合一个实际案例运用dubbo技术,给出一个Demo演示并贴出源码。
在这里插入图片描述

一、Dubbo是什么?

Dubbo是由阿里巴巴开源的RPC服务开发框架。RPC全称是Remote procedure call,即远程过程调用。使得调用远程的程序服务像在本地调用一样。rpc可以在提供强大的远程调能力时不损失本地调用的语义简洁性,使得构建分布式技术(应用)更加容易。它提供了三大核心能力:

  • 面向接口的远程方法调用
  • 可靠、智能的容错和负载均衡
  • 服务主动注册和发现能力

二、为什么为产生Dubbo技术?

1)单一应用框架(ORM)

当网站流量很小,只需要一个应用,将所有功能都部署在一起,以减少部署节点和成本。

2)垂直应用框架(MVC)

随着业务扩大,单一应用架构扩容较麻烦,于是把系统中独立大部分拆分出来,形成了垂直应用架构,每个应用独立开发、独立部署。

3)分布式应用架构(RPC)

当垂直应用越来越多,每个系统的相同逻辑代码无法复用,且难免需要不同应用交互,于是将核心业务抽离出来,形成分布式应用架构。

微服务落地过程中,还需要解决以下许多问题,如:

  • 服务之间如何高性能通信
  • 服务调用如何做到负载均衡、限流
  • 如何进行服务治理

于是,Dubbo作为分布式服务框架应运而生。

三、如何使用Dubbo技术?

在这里插入图片描述

为了学习如何使用Dubbo,首先我们要了解dubbo的架构是怎么样的,如上图所示,dubbo 的核心架构中,分了4个角色:注册中心、服务提供者、服务消费者、监控中心。它们的功能分别是:

  • Registry:注册中心,负责服务地址的注册和查找,服务的Provider和Consumer只在启动时与注册中心交互,注册中心通过长连接感知Provider的存在,在Provider出现宕机的时候,注册中心会立即推送相关事件通知consumer。

  • Provider:服务提供者。在它启动的时候,会向Registry进行注册操作,将自己的地址和相关配置信息封装成Url添加到Zookeeper中。

  • Consumer:服务消费者。在它启动时,会向Registry进行订阅操作。Comsumer和Provider建立的是长连接,且Comsumer会缓存Provider信息,所以一旦建立,即使注册中心宕机,也不会影响已运行的Provider和Consumer。

  • Monitor:监控中心。用于统计服务的调用次数和调用时间,监控中心宕机不会影响Provider和Consumer,只是丢失监控数据。


在这里插入图片描述

这里我们使用zookeeper作为注册中心。构建一个简单的Dubbo demo程序。

服务提供者

package com.example.dubbo.zk.providerzk.service;import com.alibaba.dubbo.config.annotation.Service;
import com.demo.dubbo.api.Hello;
import org.springframework.beans.factory.annotation.Value;@Service(timeout = 5000, version = "0.1.0")
public class HelloService implements Hello {@Value("${server.port}")String port;@Overridepublic String hello(String name) {return "hello " + name + " (" + port + ")";}
}

appllication.properties

# 应用名
spring.application.name=service-provider-zk
server.port=9090
# 扫描 Dubbo 服务的位置
dubbo.scan.base-packages=com.example.dubbo.zk.providerzk.service# Dubbo 协议
dubbo.protocol.name=dubbo
dubbo.protocol.port=-1## Dubbo 注册中心
dubbo.registry.address=zookeeper://127.0.0.1:2181

服务消费者

package com.demo.dubbo.zk.consumerzk;import com.alibaba.dubbo.config.annotation.Reference;
import com.demo.dubbo.api.Hello;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;@SpringBootApplication
public class ConsumerZkApplication {public static void main(String[] args) {SpringApplication.run(ConsumerZkApplication.class, args);}@Reference(version = "0.1.0")private Hello helloService;@Beanpublic ApplicationRunner runner() {return args -> System.out.println(helloService.hello("dubbo-zk"));}}

appllication.properties

# 服务名
spring.application.name=service-consumer-zk
# 端口
server.port=8081
# Dubbo 注册中心
dubbo.registry.address=zookeeper://127.0.0.1:2181
  • tips:消费者消费服务,需保证版本号version一致,进一步延伸,在本地测试中,可通过修改版本号和测试环境的服务隔离开。

源码链接:https://gitee.com/burceli/dubbo_demo.git

http://www.yayakq.cn/news/990650/

相关文章:

  • 做网站网html5网站价格
  • 平面设计免费网站有没有做任务的网站
  • 网站上的ar是什么软件做的软件定制为什么不给源码
  • seo怎么做网站的tdk如何在百度上发表文章
  • 网站首页收录做兼职上什么网站找
  • 网站搭建设计范文iis网站防盗链
  • 电话网站模版如何用本地视频做网站
  • 怎么上传文章网站精选合肥网站建设
  • 企业网站功能怎么设计怎么做网站流量赚钱吗
  • 电商网站开发发展和前景东莞百度推广优化排名
  • 钦州市建设局网站百度登录入口百度
  • 普陀区网站制作建设游戏网站
  • 如何网站开发语言龙华网站建设网站设计公司
  • 用python做美食网站wordpress个人模板
  • 受欢迎的商城网站建设中国造价信息网官网
  • 怎么制作网站接口沈阳网站建设兼职
  • 山东省建设备案网站审批表用台电脑做网站
  • 建设银行附近网站点徐闻手机网站建设公司
  • 两个域名同时指向一个网站wordpress分享到
  • 保定专业做网站微信公众平台开发公司
  • 安阳县崔家桥职业中专南岸网站关键词优化
  • 个人主页网站设计代码全球华设计大赛
  • 网站娱乐一条龙搭建wordpress不能文件名访问
  • 东莞网站设计知名 乐云践新wordpress 登录后可看
  • 有没有专门做教育培训的网站陈铭生
  • 杭州网站建站平台网络公司给我做网站我有没有源代码版权吗
  • 网站前端设计外包公司基于mvc的jsp网站开发
  • 网页设计作业简单seo做的很好的网站
  • 帮企业建设网站销售wordpress 英文 企业网站模板
  • 专业的上海网站建设公司安化网站建设