专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

是前端还是后端的事_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 15:52:53       共计:3596 浏览

是前端还是后端的事?

你好,很高兴回答你的问题!!从以下几个方面阐述:

软件行业的分类

以上提到了两种架构方式:

1.单体式架构

通俗的讲就是所有的源代码在一个项目中,并且把这一个项目部署到服务器,当某个模块的访问流量增加,一台服务器难以支撑时,会把整个项目复制到新增的服务器上。以此类推..

这种架构有一个很大的缺点,就是并发配置不灵活,无法针对某个并发量大的模块进行并发配置,而是整个项目复制部署,这样会导致服务器资源的极大浪费。

所以就有了下面的架构方式:

2.分布式微服务架构

将项目拆分几个独立的功能单元(服务)的架构,每个功能单元就是一个服务。

这个服务的细粒度,根据实际情况可以很细,也可以很粗。

一个大型系统的甚至可以有成百上千个服务,这些服务之间彼此独立又互相联系。

优点:

1.降低了项目的复杂度

2.团队的职责界限明确

3.部署灵活

服务类型

在系统中所有的服务,可以分为以下两种类型:

服务提供者 (Provider)

即提供服务的一方

服务消费者 (Consumer)

调用服务的一方

即把每一个拆分出来的模块,继续拆分成消费者和提供者!!

拆分之后消费者如何调用?如上图消费者和提供者之间多了一层-注册中心

注册中心 (Registry)

注册中心类似于生活中的婚姻介绍所,男女双方都把各自的信息提供给婚姻介绍所,由婚姻介绍所,权衡双方信息,为男生女生选择“门当户对”的另一半

说的书面化一点:负责服务的注册与调用服务的注册中心,常用的注册中心有Zookeeper等

以上提到的注册中心(Registry)、 提供者(Provider)、消费者(Customer)是微服务框架Dobbox分布式微服务框架的三种主要角色

Dubbox框架

Dubbox是一个分布式微服务框架,前身是阿里巴巴的开源项目Dubbo,后来阿里不再维护此框架;进而当当网进行了进一步维护,为了和Dubbo区分就取名为Dubbox

Dubbox运行原理图解:

调用关系说明:

1. 服务容器负责启动、加载,运行服务提供者

2. 服务提供者在启动时,向注册中心注册自己提供的服务

3. 服务消费者在启动时,向注册中心订阅自己所需的服务

4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台

6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

如何实现微服务

1.安装Zookeeper

下载链接:

https://zookeeper.apache.org/releases.html

1.1解压安装包

1.2重命名 /conf/zoo_sample.cfg

1.3在Zookeeper主目录下创建data文件夹

1.4修改配置文件

zoo.cfg

指定dataDir为刚才创建的目录

记住访问端口2181

1.5双击启动服务器端和客户端

zkServer.cmd

服务器端

zkCli.cmd

客户端

启动后不要关闭,至此注册中心搭建完成!!

2.搭建管理控制台dubbo-admin

1.1从GitHub获取dubbo-admin

1.2切换到分支2.5.8

1.3使用Maven编译打成war包

进入到dubbo-admin目录

编译打包 : mvn clean package -DskipTests

1.4将war包部署到tomcat服务器并启动tomcat

这里不再赘述

1.5修改dubbo.properties文件

这三项目前不用修改

#zookeeper地址

dubbo.registry.address=zookeeper://127.0.0.1:2181

#root用户密码是root-登录dubbo后台使用

dubbo.admin.root.password=root

#guest用户密码root-登录dubbo后台使用

dubbo.admin.guest.password=guest

以上两个用户名密码很多人容易出错!!

我们输入以下地址访问:

http://localhost:8080/dubbo-admin-2.5.8/

用户名:root 密码:root

看到这个界面说明我们的管理控制台搭建成功

3.编写Consumer和Provider

项目结构图:

3.1创建公共模块(shop-common)

提供了公用的api及model等

实体类User

接口UserService

2.创建Provider

引入依赖

配置dubbo

服务实现类

@Service: dubbo提供者服务用于声明对外暴露服务,只能定义在一个类上,表示一个服务的具体实现

interfaceClass:指定服务提供方实现的 interface 的类

启动类

@EnableDubboConfiguration 将会自动扫描dubbo的service服务

3.创建Consumer

引入依赖

配置dubbo

创建UserController

@Reference 用于dubbo消费者服务指明引用哪个提供者接口服务

url:通过指定服务提供方的 URL 地址直接绕过注册中心发起调用

4.访问Controller

输出“hell dubbo!!”,说明微服务项目搭建成功

基于理论开始,到创建一个案例,到运行测试整个过程都详细描述,看完应该知道微服务怎么实现了,看过之后相信也知道微服务到底是前端还是后端了。

如果有需要源码或安装包可以私信我!!

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql查询出现,mysql怎么查看表的数据来源_数据库 | ·下一条:mysql 查询题,MySql怎么查询前10条数据_数据库

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有