使用Ocelot做网关
1首先创建一个json的配置文件,文件名随便取,我取Ocelot.json 这个配置文件有两种配置方式,第一种,手动填写 服务所在的ip和端口;第二种,用Consul进行服务发现 第一种如下: { "ReRoutes": [ { //转发处理格式 "DownstreamPathTemplate": "/api/{url}", "DownstreamScheme": "http", //手动指明ip和端口号 "DownstreamHostAndPorts": [ { "Host": "localhost", "Port": 6001 } ], //请求格式 "Ups...
.NET Core微服务之基于Ocelot实现API网关服务
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、啥是API网关? API 网关一般放到微服务的最前端,并且要让API 网关变成由应用所发起的每个请求的入口。这样就可以明显的简化客户端实现和微服务应用程序之间的沟通方式。以前的话,客户端不得不去请求微服务A(假设为Customers),然后再到微服务B(假设为Orders),然后是微服务C(假设为Invoices)。客户端需要去知道怎么去一起来消费这三个不同的service。使用API网关,我们可以抽象所有这些复杂性,并创建客户端们可以使用的优化后的端点,并向那些模块...
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节点...
Consul 入门教程
目录 一、什么是服务发现 二、consul 简介 三、consul的几个概念 四、安装 Consul 五、运行 Consul Agent 六、集群成员 七、停止 Agent 八、注册服务 九、Consul 集群 十、健康检查 十一、KV Data 十二、Consul Web UI 十三、Docker下安装consul 一、什么是服务发现 微服务的框架体系中,服务发现是不能不提的一个模块。我相信了解或者熟悉微服务的童鞋应该都知道它的重要性。这里我只是简单的提一下,毕竟这不是我们的重点。我们看下面的一幅图片: 图中,客户端的一个接口,需要调用服务A-N。客户...
百度地图api:根据经纬度获取地理位置信息
调用百度api,根据经度和纬度获取地理位置信息,返回Json。 C#代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Net.Http; public class LocationService { //百度api private static string url = @"http://api.map.baidu.com/geocoder/v2/?location={0}&output=json&ak=WEc8RlPXzSifaq9RHxE1WW7lRKgbid6Y"; /// <su...
WPF滚动
<UserControlx:Class="WpfApplication1.UserControl1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="30"d:DesignWidth="300"Loaded="UserControl_Loaded"> <CanvasClipToBounds="True"x:Name="canvas"> <Canvas.Resources> <Sto...
nginx反向代理wss
先上NGINX配置: worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 443 ssl http2; server_name localhost; ssl_certificate aa.pem; ssl_certificate_key aa.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols TLSv1TLSv1....
微信小程序支付,微信支付
微信小程序支付绕坑指南 步骤 A:小程序向服务端发送商品详情、金额、openid B:服务端向微信统一下单 C:服务器收到返回信息二次签名发回给小程序 D:小程序发起支付 E:服务端收到回调 首先准备以一下信息 小程序发送小程序向服务端发送商品详情、金额、openid 服务端接收小程序发来的信息 判断信息是否为空,不为空将要参与签名的信息组合成键值对,准备签名 签名算法(首先进行排序,连接商户KEY,进行MD5计算,结果转成大写) 将计算好的MD5值也加入到之前的键值对中,并且将整个键值对转成XML格...
解析表情
<!DOCTYPE html> <htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server"> <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/> <title></title> <scriptsrc="jquery.min.js"></script> <style> #emoji span { float: left; display: block; width:30px; height:30px; line-height:30px; font-size:16px; cursor: pointer; } </style> </...