分类

链接

2025 年 8 月
 123
45678910
11121314151617
18192021222324
25262728293031

近期文章

热门标签

新人福利,免费薅羊毛

微服务实战(二):使用API Gateway

【编者的话】本系列的第一篇介绍了微服务架构模式。它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择。当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交互。在单体式程序中,通常只有一组冗余的或者负载均衡的服务提供点。在微服务架构中,每一个微服务暴露一组细粒度的服务提供点。在本篇文章中,我们来看它如何影响客户端到服务端通信,同时提出一种API Gateway的方法。介绍假定你正在为在线购物应用开发一个原生手机客户端。你需要实现一个产品最...

.NET, 微服务 暂无评论 阅读(338)

API网关ocelot特性之聚合

请求聚合即将多个API请求结果合并为一个返回。要实现请求聚合我们需要给其它参与的路由起一个Key。{ <span class="hljs-attr">"</span><span class="hljs-attr">ReRoutes": [ { "DownstreamPathTemplate": <span class="hljs-string">"/", "UpstreamPathTemplate": "/laura", "UpstreamHttpMethod": [ "Get&q...

大数据, 微服务 暂无评论 阅读(341)

如何处理接口幂等性问题

在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景:一个订单创建接口,第一次调用超时了,然后调用方重试了一次在订单创建时,我们需要去扣减库存,这时接口发生了超时,调用方重试了一次当这笔订单开始支付,在支付请求发出之后,在服务端发生了扣钱操作,接口响应超时了,调用方重试了一次一个订单状态更新接口,调用方连续发送了两个消息,一个是已创建,一个是已付款。但是你先接收到已付款,然后又接收到了已创建在支付完成订单之后,需要发送一条短信,当一台机器接收到短信发送的消息之后...

Others 暂无评论 阅读(337)

PCF常见命令

1.登陆:cf login -a api.sys.sea.preview.pcf.manulife.com如果不成功,请检查网络代理:set https_proxy=你的代理地址,如果不需要代理,就留空(直接加车)2.maven打包:mvn package -Dskiptest3.上传:cf push -f mainfast-dev.yml 

JAVA, PCF, 微服务 暂无评论 阅读(506)

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...

.NET, DevOps, 微服务 暂无评论 阅读(440)

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 logindocker push 远程仓库名:远程镜像标签注意 :     这里的远程镜像标签是自己定义的...

Docker, 大数据 暂无评论 阅读(277)

centos 7 minimal 静态ip

1、安装一个软件(net-tools)(作用:使用 ip 命令代替 ifconfig 命令),也可以不安装,用自己习惯的就好。yum install net-tools2、查看你现在的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...

Others 暂无评论 阅读(336)

使用Ocelot做网关

1首先创建一个json的配置文件,文件名随便取,我取Ocelot.json这个配置文件有两种配置方式,第一种,手动填写 服务所在的ip和端口;第二种,用Consul进行服务发现第一种如下:{ "ReRoutes": [ { //转发处理格式 "DownstreamPathTemplate": "/api/{url}", "DownstreamScheme": "http", //手动指明ip和端口号 "DownstreamHostAndPorts": [ { "Host": "localhost", "Port": 6001 } ], //请求格式 "Ups...

.NET, 微服务 暂无评论 阅读(305)

.NET Core微服务之基于Ocelot实现API网关服务

Tip: 此篇已加入.NET Core微服务基础系列文章索引一、啥是API网关?API 网关一般放到微服务的最前端,并且要让API 网关变成由应用所发起的每个请求的入口。这样就可以明显的简化客户端实现和微服务应用程序之间的沟通方式。以前的话,客户端不得不去请求微服务A(假设为Customers),然后再到微服务B(假设为Orders),然后是微服务C(假设为Invoices)。客户端需要去知道怎么去一起来消费这三个不同的service。使用API网关,我们可以抽象所有这些复杂性,并创建客户端们可以使用的优化后的端点,并向那些模块...

.NET 暂无评论 阅读(378)

consul+nginx完成集群服务动态发现和健康检查

前言在《构建Consul集群》章节中介绍了如何实现consul集群的构建,通过对consul的进一步了解,其并没有提供的对cluster直接操作的client-api,故需要针对Consul集群构建一个统一入口,但这个并不需要我们过多的担心,Consul的小伙伴Consul-Template正是为此而生,通过Nginx+ConsulTemplate能够非常方便的实现,本章将来介绍如何配置应用并验证。本章概要1、准备工作;2、Nginx配置;3、编写ctmpl模板;4、启动服务;5、高可用集群验证;准备工作1、环境:Client节点:WIN10(192.168.6.78);Server节点...

.NET, 微服务 暂无评论 阅读(369)