1.面向服务的架构
面向服务的架构(Service Oriented Architecture,SOA)是表示所谓服务的自包含功能单元的一种软件设计原则和架构设计模式。SOA推崇松耦合、复用性和粗粒度的服务设计原则。在企业架构方面,SOA带来的好处包括对业务需求的敏捷交付和迅速反应,通过降低集成成本提高投资回报率,通过复用组件降低开放成本。
SOA:Service Oriented Architecture面向服务的架构。也就是把工程拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。
2.什么是dubbo
dubbo是一种系统通信技术,主要是在项目内部进行通信,
dubbo就是资源调度和治理中心的工具;
dubbo实现系统间通信的中间件
是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题。
Dubbo[]是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
使用rpc协议进行远程调用,直接使用socket通信。传输效率高,并且可以统计出系统之间的调用关系、调用次数。
webService跨语言跨平台的远程通信技术,主要是对外进通信
3.dubbo调用关系说明
1. 服务容器负责启动,加载,运行服务提供者。
2. 服务提供者在启动时,向注册中心注册自己提供的服务。
3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
4.Zookeeper是Apacahe Hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbo服务的注册中心,工业强度较高,可用于生产环境,并推荐使用
5.Dubbo和zookeeper的区别?
(1)zookeeper主要是用来注册服务和进行负载均衡;
(2)dubbo是管理中间层的工具
(3)dubbo和zookeper的关系:
Dubbo的将注册中心进行抽象,是得它可以外接不同的存储媒介给注册中心提供服务,有ZooKeeper,Memcached,Redis等。
Dubbo引入zookeeper作为存储媒介,也就是把zookeeper的特性引入了进来(负载均衡,资源同步等)
6.讲讲Mybaties如何实现自定义分页?
(1)内存分页,使用RowBounds类,但这种方式不推荐,基本不用,所以此方式集成省略。
(2)自定义实现,代码量比较少,简单,比较灵活.
(3)通过自定义插件的形式实现分页,也是最好的,也叫做分页拦截器.
7.Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
可以的,启动dubbo时,消费者会从zk拉取注册的生产者的地址接口等数据,缓存在本地。每次调用时,按照本地存储的地址进行调用
注册中心对等集群,任意一台宕掉后,会自动切换到另一台
注册中心全部宕掉,服务提供者和消费者仍可以通过本地缓存通讯
服务提供者无状态,任一台 宕机后,不影响使用
8.FastDFS
FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。
执行流程:
客户端上传文件后存储服务器将文件ID返回给客户端,此文件ID用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。
步骤:
1、加载配置文件,配置文件中的内容就是tracker服务的地址。
配置文件内容:tracker_server=192.168.25.133:22122
2、创建一个TrackerClient对象。直接new一个。
3、使用TrackerClient对象创建连接,获得一个TrackerServer对象。
4、创建一个StorageServer的引用,值为null
5、创建一个StorageClient对象,需要两个参数TrackerServer对象、StorageServer的引用
6、使用StorageClient对象上传图片。
7、返回数组。包含组名和图片的路径。
解决浏览器兼容问题
指定响应结果content-type:application/json;charset=UTF-8
dubbo介绍
最新推荐文章于 2025-05-13 09:53:28 发布