最初の3件の記事、領事の打ち上げ成功、登録サービスによって、その後の質問は、誰でも再生する方法も登録することができ、安全機構が存在しなければなりません。
ゲームプレイは、単純なACLがどのようにすることを追加toeknを、追加しているのですか?
ステップ1:スタートコンフィギュレーションコマンド
DIR -設定:ファイル読み込まれますすべてが設定ファイルのフォルダ、* .jsonデータ形式、ファイル名がああ.jsonの終わりでなければなりません。
領事剤は1 -server -data -bootstrap-期待 -dir Dを:\ HNHPC \ マイクロフレーム\ consul_1.5.3_windows_amd64 \領事-node = 192.168.1.161 -bind = 192.168.1.161 -enable-スクリプトチェック=真-datacenter 0.0.0.0 -ui hnhpc -client = = -config DIR- D:\ hNHPC \マイクロフレーム\ consul_1.5.3_windows_amd64 \ CONFIG
ステップ2:ではConsulManagerクラス、マスターの値で充填[245d0a09-7139-bbea-AADC-ff170a0562b1]
第三段階:スタート登録toeknシステム、登録を制限なしトークンによってコア。
using Consul; using System; using System.Collections.Generic; using System.Text; namespace Core.Consul { internal class ConsulManager { private static ConsulClient client = null; static ConsulManager() { if (client == null) { var address = ServiceManagerSection.Instance.Address; ConsulClientConfiguration config = new ConsulClientConfiguration() { Address = new Uri(address), Token = "245d0a09-7139-bbea-aadc-ff170a0562b1" }; client = new ConsulClient(config); } } private ConsulManager() { } /// <summary> /// 注册服务 /// </summary> public static void Register(string name, string address, int port, string checkHttpAddress = "") { var service = new AgentServiceRegistration(); service.Name = name; service.Address = address; service.Port = port; service.ID = address + ":" + port; AgentServiceCheck checkHttp = new AgentServiceCheck(); if (string.IsNullOrEmpty(checkHttpAddress)) { if (port == 80) { checkHttpAddress = string.Format("http://{0}/default/test", address); } else { checkHttpAddress = string.Format("http://{0}:{1}/default/test", address, port); } } checkHttp.HTTP = checkHttpAddress; checkHttp.Interval = new TimeSpan(0, 0, 10); checkHttp.DeregisterCriticalServiceAfter = new TimeSpan(0, 0, 120); service.Checks = new List<AgentServiceCheck>() { checkHttp }.ToArray(); var result = client.Agent.ServiceRegister(service).Result; if (result.StatusCode != System.Net.HttpStatusCode.OK) { throw new Exception($@"注册{address}-{name}服务失败"); } } public static void Remove(string address, int port) { string id = address + ":" + port; client.Agent.ServiceDeregister(id); } public static Dictionary<string, AgentService> FindAll() { var result = client.Agent.Services().Result.Response; return result; } } }
{ "acl" : { "enabled" : true, "default_policy" : "deny", "down_policy" : "extend-cache", "tokens" :{ "master": "245d0a09-7139-bbea-aadc-ff170a0562b1" } } }
其实还有更多的玩法,大家可以启动之后一个一个的设置来玩玩