API网关ocelot特性之聚合
请求聚合 即将多个API请求结果合并为一个返回。要实现请求聚合我们需要给其它参与的路由起一个Key。 { <span class="hljs-attr">"</span><span class="hljs-attr">ReRoutes": [ { "DownstreamPathTemplate": <span class="hljs-string">"/", "UpstreamPathTemplate": "/laura", "UpstreamHttpMethod": [ "Get&q...
如何处理接口幂等性问题
在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景: 一个订单创建接口,第一次调用超时了,然后调用方重试了一次 在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次 当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次 一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到已付款,然后又接收到了已创建 在支付完成订单之后,需要发送一条短信,当一台机器接收到短信发送的消息之后...
Ocelot+Consul+.netcore高可用&动态伸缩
Ocelot 网关: publicclassStartup { publicStartup(IConfiguration configuration) { Configuration= configuration; } publicIConfigurationConfiguration{ get;} // This method gets called by the runtime. Use this method to add services to the container. publicvoidConfigureServices(IServiceCollection services) { var config =newConfigurationBuilder() .AddJsonFile("Ocelot.json",false,true) .Build(); services.AddOcelot(config).AddConsul(); servic...
Docker中的push和pull操作
Docker可以像GitHub一样进行Push和Pull操作并且十分简单 1.在Docker Hub上注册一个账号,然后创建一个远程仓库 Docker Hub地址: https://hub.docker.com/ 2.首先将本地容器打包成本地镜像 docker commit 容器名 镜像仓库:镜像标签 然后只要使用docker images可以查看到你打包到本地镜像就可以了 3.将本地容器打包到远程仓库 docker tag 本地镜像仓库:本地镜像标签 远程仓库名:远程镜像标签 4.push到远程仓库 docker login docker push 远程仓库名:远程镜像标签 注意 : 这里的远程镜像标签是自己定义的...
centos 7 minimal 静态ip
1、安装一个软件(net-tools)(作用:使用 ip 命令代替 ifconfig 命令),也可以不安装,用自己习惯的就好。 yum install net-tools 2、查看你现在的ip地址: ip addr show 正如你看到的,我的网卡名称为:ens33,当然你的网卡名称应该和我不一样,我现在的IP是192.168.199.66。 3、现在你应该修改它,用你的编辑器打开并编辑文件 /etc/sysconfig/network-scripts/ifcfg-ens33 细心的人应该发现了,文件的后缀ens33,就是我的网卡名称,你们应该修改为你的网卡名称。 vi /etc/sysconfig/network-scripts/ifcfg-en...