此篇文章是个人以及公司微服务平台落地的一些总结吧。
微服务是什么?
参考链接: https://martinfowler.com/articles/microservices.html
这一点不需要过分罗嗦,简单来说就是将当前单体架构或者SOA架构拆分为一个个的服……继续阅读 »
破玉
4年前 (2020-06-07) 1284浏览 0评论
0个赞
我们在微服务中最常使用的就是服务调用了,这也是各个服务互相交互拆分的核心部分,spring cloud 项目一般使用 feign 来完成服务调用,且是基于http 协议的,其实HTTP属于RPC的一种,不过如果是基于HTTP1.1的协议,请求中会包含很多无用的内容,这会导致他比原始的RPC调用效率更低。RPC……继续阅读 »
破玉
5年前 (2020-04-06) 2220浏览 0评论
2个赞
dubbo 是阿里的高性能RPC框架,是除spring cloud 之外的另一种 微服务选择。本篇文章,我们来利用spring boot +nacos +dubbo 来探讨下 dubbo 服务调用的基本实现。
简介
Apache Dubbo |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提……继续阅读 »
破玉
5年前 (2019-12-22) 5520浏览 0评论
20个赞
上传文件配置
增加如下依赖:
io.github.openfeign.form
feign-form-spring
<!--3.2.2 -->
io.github.openfeign.form ……继续阅读 »
破玉
5年前 (2019-09-16) 1986浏览 0评论
0个赞
参考链接链路跟踪
解释
Span:基本工作单元,例如,在一个新建的span中发送一个RPC等同于发送一个回应请求给RPC,span通过一个64位ID唯一标识,trace以另一个64位ID表示,span还有其他数据信息,比如摘要、时间戳事件、关键值注释(tags)、span的ID、以及进度ID(通常是IP地址)
span在不断的启动和停止,同时记录了时间信息……继续阅读 »
破玉
5年前 (2019-09-06) 1618浏览 0评论
0个赞
什么是rpc(来自百度百科)
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加……继续阅读 »
破玉
5年前 (2019-09-03) 1143浏览 0评论
0个赞
feign 服务调用流程
参考链接:
首先通过@EnableFeignClients注解开启FeignCleint
根据Feign的规则实现接口,并加@FeignCleint注解
程序启动后,会进行包扫描,扫描所有的@ FeignCleint的注解的类,并将这些信息注入到ioc容器中。
当接口的方法被调用,通过jdk的代理,来生成具体的RequesTem……继续阅读 »
破玉
5年前 (2019-09-02) 1221浏览 0评论
0个赞
没有网关,我们的微服务消费端,全都要对外网进行暴露。每个微服务消费端,都要进行自己的安全过滤,身份验证,这无疑增加了开发工作量。另外一个原因,如果有安全规则问题,需要更新维护,那么,所有的服务消费端都要更新一遍。
所以,我们需要对请求进行统一的收口,统一的过滤,这是网关最重要的作用。其次,配合服务注册与发现,网……继续阅读 »
破玉
6年前 (2019-06-04) 1349浏览 0评论
0个赞
在一个分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,为了解决这个问题,业界提出了断路器模型。如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败,这个就是Hystrix需要做的事情。Hystrix提供了熔断、隔离、Fallback、cache、监控等功能,能够在一个、或多个依赖同时出现问题时保证系统依然可用。较底……继续阅读 »
破玉
6年前 (2019-06-03) 1851浏览 0评论
0个赞
今天在实现feign远程调用文件上传服务的时候踩了一些坑,特此记录下
第一个坑 多参数传递问题
Method has too many Body parameters: public abstract 。。。。
当使用Feign时,如果发送的是get请求,那么需要在请求参数前加上@RequestParam注解修饰,Controller里面可以不加该注解修……继续阅读 »
破玉
6年前 (2019-06-03) 5346浏览 0评论
11个赞