一 跨域解决方案CORS1.1 什么是跨域出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页
目录一、公共pom二、service-api三、service-provider1、pom中引用service-api2、接口实现类3、配置文件4、启动类四、service-consumer1、pom中引用service-api2、定义类调用接口中的方法3、配置4、启动类五、测试(一)服务端(二)客户端六、注意1、provider2、consumer 创建一个maven项目,并创建3个modu
Dubbo什么是Dubbo:Apache Dubbo 是一个高可用的,基于Java的开源RPC框架。 Dubbo框架不仅仅是具备RPC访问功能,还包含服务治理功能。Dubbo的架构:虚线代表异步,实线代表同步;Container:Spring容器,Dubbo是基于Spring容器实现的 Provider:服务的提供者,编写持久层,业务层 Registry:注册中心,所有的Provider上的服务注
转载 5月前
34阅读
一、Dubbo的设计角色1)系统角色(2)调用关系 二、Dubbo是如何架构的Dubbo的总体架构如图所示:框架分层架构中,各个层次的设计要点:服务接口层(Service):该层是与实际业务逻辑相关的,根据服务提供方和服务消费方的业务设计对应的接口和实现。三、Dubbo的底层实现(1)协议支持Dubbo支持多种协议,如下所示:在通信过程中,不同的服务等级一般对应着不同的服务质量,那么选择
简单的一下Dubbo的入门案例,遇到了一些小问题,对于dubbo的配置文件需要了解一下,案例中,做了提供者和消费者两个,都做了,在Customer需要在pom中,引用provider的依赖包。这个案例,主要做的是Cusumer和Provider, Cusumer如何调用Provider提供的服务。Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Re
今天公司的项目比较忙,远程开会和办公的沟通效率总是差那么一点,为了节约点时间,就不介绍SpringCloud了,我想只要是一名Java开发程序员,提到微服务,一定对SpringCloud的大名如雷贯耳,我们直接来看它的高频面试题吧。 1、什么是Spring Cloud? Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与
转载 4月前
85阅读
什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到
服务消费的过程:referenceConfig类的init方法调用Protocol的refer方法,生成invoker实例,然后把Invoker转换为客户端需要的接口。2、源码解析dubbo的消费端初始化在ReferenceConfig的get()方法public synchronized T get() { if (destroyed){ throw ne
转载 5月前
14阅读
什么是同步调用,也就是说调用线程在服务提供方结果返回前需要被阻塞,异步调用则是说消费者发起调用后会马上返回。本篇我们将介绍两种异步调用方式。1. Dubbo 2.6.*版本提供的异步调用首先我们看看第一种异步调用方式:首先写一个消费者基类package cn.hackcloud.demo.dubbo; import com.alibaba.fastjson.JSON; import org.apa
AOP(面向切面编程)目的:增强方法,减少了重复代码,自动创建对象也可以读取配置文件信息。1.通知(Advice)就是你想要的功能,也就是上面说的 安全,事物,日志等。你给先定义好,然后在想用的地方用一下。2.连接点(JoinPoint)spring允许你使用通知的地方,spring只支持方法连接点,和方法有关地方,都是连接点。3.切入点(Pointcut)用切点来定义这几个方法(如:方法名、参数
1.aop全称Aspect Oriented Programming 面向切面编程2.aop应用场景场景一: 记录日志 场景二: 监控方法运行时间 (监控性能) 场景三: 权限控制 场景四: 缓存优化 (第一次调用查询数据库,将查询结果放入内存对象, 第二次调用, 直接从内存对象返回,不需要查询数据库 ) 场景五: 事务管理 (调用方法前开启事务, 调用方法后提交关闭事务 )3.aop一些名词切面
转载 2月前
35阅读
nginx实现端口转发
原创 2022-04-14 11:43:08
10000+阅读
# 实现Java请求转发的步骤 ## 流程表格 | 步骤 | 操作 | | ---- | ---- | | 1 | 创建一个Java Web项目 | | 2 | 编写一个Servlet类用于处理请求 | | 3 | 在Servlet中设置请求转发 | | 4 | 创建一个JSP页面作为转发目标 | ## 操作步骤及代码示例 ### 步骤1:创建一个Java Web项目 首先,你需要在IDE
原创 2月前
31阅读
一、AOPAPO即Aspect Oriented Programing的缩写,字面直译的意思就是:面向切面编程。AOP采用横向抽取机制,取代了传统的纵向继承体系中的重复性代码,是对OOP面向对象编程的一种补充和完善。AOP最重要或者说要达到的目的就是开发者在不修改不侵入源代码的前提下,给系统中的业务组件添加某种通用的功能。比如现在要统计系统中service层的所有方法的执行时间,如果使用面向对象的
A.正向的TCP端口转发代理ssh-L2000:121.43.198.241:80121.43.198.241#将自己的2000端口映射到远程的80端口。访问自己的curlhttp://127.0.0.1:2000就相当于访问121.43.198.241的80端口ssh-L10.10.10.10:2000:121.43.198.241:80121.43.198.241#访问http://10.10
原创 2020-06-04 20:24:08
10000+阅读
1点赞
通常我们会使用Nginx反向代理和负载均衡,都是http协议,其实Nginx还可以转发TCP,而且配置基本很相似(下面的原理也适用于http)。原理图如下:正向代理和反向代理正向代理:就是我们所说的代理,例如客户向服务器A发请求,但是A不接受除了服务器B以外的请求,然后客户委托服务器B向服务器A发请求,然后通过服务器B中间人传输信息。这个过程是对服务器A是透明的,它只知道和服务器B通信。反向代
最近在弄关于tcp的代理,发现haproxy口碑挺好的,一查发现淘宝网都在使用,想来性能会让我非常满意(马上开始打脸)。 haproxy主要用于tcp和http两种模式的代理(health模式正在被放弃) http这块我不打算在本文描述,有nginx使用经验的会想为什么不使用nginx呢,这点我不想做什么结论,开心就好。 一、haproxy的安装(乌班图下)apt-get install hapr
一:什么是dubbo框架Dubbo是一个分布式服务的框架,致力于提供高性能和透明化PRC远程服务调用方案,以及SOA服务治理方案。一句话来说dubbo就是远程服务调用的分布式框架二:dubbo作用:1.透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。       2.软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低
业务中常常有文件上传的需求,将文件传到第三方对象存储服务器或者ftp【基本流程】后端接收MultipartFile类型参数将图片上传到ftp/第三方对象存储服务器返回给前端流(outputStream)/ url地址,供前端预览【常见问题】从controller到service,参数需要序列化,而MultipartFile和HttpServletResponse都未实现序列化dubbo消费层向服务
   上一节我们主要讲解了利用dubbo-admin如何进行参数的动态修改,本节将重点介绍集群实现中另外一个实现细节:路由机制,Dubbo的路由机制主要解决的目的就是服务调用时,从已知的所有服务提供者中根据路由规则刷选服务提供者。1、Dubbo路由机制概述   以下内容来源于官方文档:    以上是Dubbo 路由机制的基本知识,接下来从源码的角度分析一下其实现原理。2、Router相关类图:Ro
  • 1
  • 2
  • 3
  • 4
  • 5