-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.xml
129 lines (129 loc) · 17.9 KB
/
search.xml
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title><![CDATA[使用dockerswarm+consul+ocelot对asp netcore服务进行集群,发现和网关认证]]></title>
<url>%2F2018%2F04%2F13%2Fdockerswarm-consul-ocelot-for-aspnetcore-discovery%2F</url>
<content type="text"><![CDATA[介绍使用dockerswarm+consul+ocelot对asp netcore服务进行集群,发现和网关认证swarm是docker官方下的服务编排组件,上手简单,能快速地进行服务的集群发布。在集群中使用consul进行服务发现与注册 环境 window10环境下hyper-v中使用docker-machine创建三个 Docker 主机,并使用docker swarm加入到集群中 manager管理节点ip为10.0.0.126 work1工作节点ip为10.0.0.112 work2工作节点ip为10.0.0.113 user_service和product_service服务部署于三个节点中,consulserver、ocelotgateway、identity_service和simpleclient服务部署在manager管理节点中 其中user_service用户服务,product_service产品服务,ocelotgateway路由网关,identity_service认证服务,consulserver服务注册与发现,simpleclient访问客户端 简述docker swarm是docker官方下的服务编排组件,上手简单,能快速地进行服务的集群发布。 swarm集群中使用endpoint_mode的dnsrr模式对各主机节点进行负载均衡,默认采用轮询方式 在集群中使用consul进行服务发现与注册,user_service和product_service服务会向consul服务进行注册,在product_service中会使用consul的服务发现api调用user_service服务 ocelot服务作为网关对user_service和product_service服务进行路由,并集成identity_service服务的认证 代码github地址 步骤进入manager管理节点,创建并编辑dockerSwarm.yml进入manager管理节点1docker-machine ssh manager 创建并编辑dockerSwarm.yml1cd /tmp && > dockerSwarm.yml && vi ./dockerSwarm.yml 使用docker stack命令发布服务1docker stack deploy -c ./dockerSwarm.yml simpleconsul 查看consul的UI中的服务http://10.0.0.126:8500 使用客户端访问经过ocelot网关认证(密码模式)的product服务信息http://10.0.0.126:8821/product/ownerpassword 使用客户端访问的经过ocelot认证(密码模式)的Product服务中user信息http://10.0.0.126:8821/product/userinfo dockerSwarm.yml 文件123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110#version: "3" #error endpoint_mode Additional property endpoint_mode is not allowedversion: "3.2"services: consulserver: image: progrium/consul:latest environment: SERVICE_TAGS: consul servers networks: - overlay #hostname: consulserver ports: - "8300:8300" - "8400:8400" - "8500:8500" - "53:53" command: -server -ui-dir /ui -data-dir /tmp/consul -bootstrap-expect 1 deploy: placement: constraints: [node.role == manager] user_service: image: windcatcher/user_service:v1 networks: - overlay # ports: #error port published with ingress mode can't be used with dnsrr mode # - 80:80 environment: - ASPNETCORE_URLS=http://0.0.0.0:80 - ConsulUrl=http://consulserver:8500 - RegisterServerUrl=http://user_service - RegisterServiceName=user_service deploy: mode: replicated replicas: 3 endpoint_mode: dnsrr product_service: image: windcatcher/product_service:v1 #hostname: product_service networks: - overlay environment: - ASPNETCORE_URLS=http://0.0.0.0:80 - ConsulUrl=http://consulserver:8500 - RegisterServerUrl=http://product_service - RegisterServiceName=product_service - DiscoveryServiceName=user_service - DiscoverDnsUrl=http://consulserver:8600 # ports: # - '8802:80' depends_on: - consulserver - user_service deploy: mode: replicated replicas: 3 endpoint_mode: dnsrr identity_service: image: windcatcher/identity_service:v1 #hostname: identity_service networks: - overlay ports: - '8010:80' deploy: placement: constraints: [node.role == manager] ocelotgateway: image: windcatcher/ocelotgateway:v1 networks: - overlay environment: - IdentityServerUrl=http://identity_service ports: - '9900:80' depends_on: - consulserver - user_service - product_service - identity_service deploy: placement: constraints: [node.role == manager] simpleclient: image: windcatcher/simpleclient:v1 networks: - overlay environment: - IdentityServerUrl=http://identity_service - GatewayUrl=http://ocelotgateway ports: - '8821:80' depends_on: - ocelotgateway - user_service - product_service - identity_service deploy: placement: constraints: [node.role == manager]networks: overlay: 参考 创建 Swarm 集群 https://docs.docker.com/compose/compose-file/#endpoint_mode .NET Core开源API网关 – Ocelot中文文档 http://michaco.net/blog/ServiceDiscoveryAndHealthChecksInAspNetCoreWithConsul]]></content>
<categories>
<category>docker</category>
<category>microservice</category>
</categories>
<tags>
<tag>docker</tag>
<tag>dockerswarm</tag>
<tag>consul</tag>
<tag>asp.net core</tag>
<tag>ocelot</tag>
</tags>
</entry>
<entry>
<title><![CDATA[使用powshell管理docker 创建与发布]]></title>
<url>%2F2018%2F04%2F13%2Fhow-to-use-powshell-create-and-push-docker%2F</url>
<content type="text"><![CDATA[介绍使用powshell管理docker 创建与发布 步骤:1.执行脚本【dockercompose.ps1】,查看服务是否运行良好,如果良好,执行2步骤2.执行构建发布脚本dockerpush.ps1运行脚本dockercompose.ps1123456#卸载先前环境docker-compose down#先构造docker-compose build#再运行docker-compose up 构建发布脚本dockerpush.ps11234567891011121314151617181920212223242526272829303132docker-compose downdocker-compose build#docker-compose up#列出所有windcatcher用户名的docker镜像docker image ls windcatcher/*# #删除所有windcatcher用户名的docker镜像# docker rmi $(docker images windcatcher/* -q)#tag镜像user_service并推送,用户名为windcatcher,tag为v1docker tag user_service windcatcher/user_service:v1docker push windcatcher/user_service:v1# tag镜像product_service并推送,用户名为windcatcher,tag为v1docker tag product_service windcatcher/product_service:v1docker push windcatcher/product_service:v1#tag镜像identity_service并推送,用户名为windcatcher,tag为v1docker tag identity_service windcatcher/identity_service:v1docker push windcatcher/identity_service:v1#tag镜像ocelotgateway并推送,用户名为windcatcher,tag为v1docker tag ocelotgateway windcatcher/ocelotgateway:v1docker push windcatcher/ocelotgateway:v1#tag镜像simpleclient并推送,用户名为windcatcher,tag为v1docker tag simpleclient windcatcher/simpleclient:v1docker push windcatcher/simpleclient:v1]]></content>
<categories>
<category>docker</category>
<category>microservice</category>
</categories>
<tags>
<tag>docker</tag>
<tag>powershell</tag>
</tags>
</entry>
<entry>
<title><![CDATA[使用docker-compose 构建mysql 的基本配置]]></title>
<url>%2F2018%2F03%2F05%2Fdocker-compose-for-mysql%2F</url>
<content type="text"><![CDATA[介绍使用docker-compose 构建mysql 的基本配置 1.创建 docker-compose.yml文件1234567891011121314151617181920version: '3'services: db: #构建mysql镜像 image: mysql container_name: mysql-db # 容器名 command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci #设置utf8字符集 restart: always environment: MYSQL_ROOT_PASSWORD: root #root管理员用户密码 MYSQL_USER: test #创建test用户 MYSQL_PASSWORD: test #设置test用户的密码 ports: - '6606:3306' #host物理直接映射端口为6606 volumes: #mysql数据库挂载到host物理机目录/e/docker/mysql/data/db - "/e/docker/mysql/data/db:/var/lib/mysql" #容器的配置目录挂载到host物理机目录/e/docker/mysql/data/conf - "/e/docker/mysql/data/conf:/etc/mysql/conf.d" 2.在 docker-compose.yml文件下的目录下,使用docker -compose命令 创建mysql数据库容器1docker-compose up]]></content>
<categories>
<category>docker</category>
</categories>
<tags>
<tag>docker-compose</tag>
<tag>docker</tag>
<tag>mysql</tag>
</tags>
</entry>
<entry>
<title><![CDATA[使用docker-compose 构建dotnetcore的console应用]]></title>
<url>%2F2018%2F03%2F04%2Fcreate-dotnetcore-app-by-docker-compose%2F</url>
<content type="text"><![CDATA[介绍使用docker-compose 构建dotnetcore的console应用Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。dotnetcore是微软跨平台的.net环境 使用docker-compose 构建dotnetcore的console应用1、创建【dockerconsole】目录12mkdir dockerconsolecd dockerconsole 2、使用vscode打开【dockerconsole】目录1code . 3、【dockerconsole】目录下创建dotnetcore的console应用1dotnet new console 4、创建Dockerfile文件123456789101112131415161718192021#使用microsoft/dotnet:sdk镜像作为编译环境FROM microsoft/dotnet:sdk AS build-env#设置应用在docker中的工作路径WORKDIR /app#拷贝所有csproj文件到/app下COPY *.csproj ./#执行还原命令RUN dotnet restore#拷贝所有文件到/app下COPY . ./#执行发布命令,编译的发布文件生成到/app/out目录下RUN dotnet publish -c Release -o out#使用microsoft/dotnet:runtime镜像作为运行环境FROM microsoft/dotnet:runtime#设置应用在docker中的工作路径WORKDIR /app#从build-env生成/app/out目录下的所有文件拷贝到/app下COPY --from=build-env /app/out ./#设置应用的启动命令ENTRYPOINT [ "dotnet","dockerconsole.dll" ] 5、创建docker-compose.yml文件12345678910111213version: '3'services: consoleapp: #构建名为consoleapp_img的镜像 image: consoleapp_img build: #docker-compose.yml的当前根目录 context: . #根目录下的Dockerfile文件 dockerfile: Dockerfile #运行容器,名为consoleapp_c container_name: consoleapp_c 6、【dockerconsole】目录下使用docker-compose 命令构建镜像并运行容器1docker-compose up 参考 Use multi-stage build with a .NET Core application 使用 Dockerfile 定制镜像]]></content>
<categories>
<category>docker</category>
</categories>
<tags>
<tag>docker-compose</tag>
<tag>dotnetcore</tag>
<tag>docker</tag>
</tags>
</entry>
<entry>
<title><![CDATA[国内访问google--使用host]]></title>
<url>%2F2017%2F09%2F18%2Fconnect-google%2F</url>
<content type="text"><![CDATA[介绍如何使用host的访问google、Facebook等国外主流网站由于上网需要,我们经常需要使用到google搜索,但避免不了被墙,所以网络上有各种梯子。比较使用,个人认为host使用起来还是比较方便和高效的在选择搜索引擎方面,基于不浪费生命的原则,由于google搜索匹配度比百度的高,个人更倾向使用google host文件访问域名的原理A.用户主机访问某一个域名,先从host文件中读取,如果host文件有该域名的ip地址,则直接返回该ip地址B.如果没有该ip地址,则从dns服务器中获取ip,并将ip保存到host文件中 需要的工具和环境最新host文件 下载地址 host 文件里包含了google等网站的ip地址windows环境下host文件路径C:\windows\system32\drivers\etc SwitchHosts! 软件 下载地址 步骤1安装SwitchHosts! 软件2使用管理员身份运行SwitchHosts! 软件3拷贝host内容并启用将下载的host文件的全部内容拷贝SwitchHosts! 软件myhost选项页中,并启用 4测试使用googlehttps://www.google.com/ncr]]></content>
<categories>
<category>工具</category>
</categories>
<tags>
<tag>host</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Centos 6.5 安装memcached]]></title>
<url>%2F2017%2F09%2F18%2Finstall-memcached%2F</url>
<content type="text"><![CDATA[介绍如何使用Centos6.5的linux操作系统下安装分布式缓存memcached Centos 6.5 安装memcached]]></content>
<categories>
<category>linux</category>
<category>nosql</category>
</categories>
<tags>
<tag>memcached</tag>
<tag>linux</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Centos6.5 安装mysql5]]></title>
<url>%2F2017%2F09%2F18%2Finstall-mysql5%2F</url>
<content type="text"><![CDATA[介绍如何使用Centos6.5的linux操作系统下安装mysql5 Centos6.5 安装mysql5)]]></content>
<categories>
<category>linux</category>
<category>database</category>
</categories>
<tags>
<tag>mysql</tag>
<tag>linux</tag>
</tags>
</entry>
<entry>
<title><![CDATA[mybatis使用(配置、数据读取,对象化,分页)]]></title>
<url>%2F2017%2F09%2F18%2Fhow-to-use-mybatis%2F</url>
<content type="text"><![CDATA[介绍如何使用mybatismybatis是一款轻量级的orm框架,支持sql语句,相比hibernate使用起来更加灵活方便 mybatis使用(配置、数据读取,对象化,分页)步骤1:mybatis工程的创建步骤2:mybati配置步骤3:mybatis的数据导入和数据读写操作步骤4:mybatis对sql进行对象化步骤5:在mybatis中使用query查询对象步骤6:使用pagination对mybatis分页,并在jsp中展示源码]]></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>mybatis</tag>
<tag>orm</tag>
</tags>
</entry>
<entry>
<title><![CDATA[hexo使用]]></title>
<url>%2F2017%2F09%2F16%2Fhow-to-use-hexo%2F</url>
<content type="text"><![CDATA[介绍如何使用hexo编译/部署博客文章到GitHub上,做为个人的博客使用hexo支持markdown语法,有丰富的主题和第三方服务,基本满足个人博客的使用 hexo使用步骤发布新文章1hexo new post "article title" 编辑md文件使用markdown编辑器,编辑title,categories(类别),tags(标签)123456789---title: hexo使用date: 2017-09-16 18:34:28comments: falsecategories:- 工具tags:- Hexo--- 添加文章摘要 清理编译1hexo clean 生成编译1hexo g 本地启动服务,查看md是样式否合理启动本地服务1hexo s 输入地址 http://localhost:4000/ 部署1hexo d 也可以执行1hexo d -g #在部署前先生成 远程gitgub查看 输入地址:https://windcatcher.github.io/ 参考 手把手教你用Hexo+Github 搭建属于自己的博客 Jekyll迁移到Hexo搭建个人博客 next主题配置 hexo 怎么删除文章? hexo常用命令笔记 博客园markdown代码块支持的语言 从今天开始使用HyperComments啦! 百度分享集成+https]]></content>
<categories>
<category>工具</category>
</categories>
<tags>
<tag>Hexo</tag>
</tags>
</entry>
<entry>
<title><![CDATA[markdown 使用]]></title>
<url>%2F2017%2F09%2F16%2Fhow-to-use-markdown%2F</url>
<content type="text"><![CDATA[介绍如何使用markdown编写个人文章markdown是一种非常流行的文本标记语言,语法简洁明了,易于排版,便于书写,第三方支持丰富。 markdown 使用 总结了markdown 使用的常见语法和快捷键 常用语法换行与缩进 换行:在行尾部处先按入两个以上的空格 缩进:输入&emsp; 标题 行首插入1 到 6 个 # ,对应到标题1到6阶 列表 无序列表:-或 * 即可变为无序列表 有序列表:直接在文字前加1. 2. 3. 符号要和文字之间加上一个字符的空格。 引用 需要在文本前加入 > 粗体和斜体和字体颜色 粗体:两个 * 包含一段文本 斜体:用一个 * 包含一段文本 字体颜色:<font color=red>内容</font> 例如 内容 图片与链接 图片为:![](){ImgCap}{/ImgCap} 链接为:[]() 代码框 ```java``` 示例: ```java这是一段java代码``` 效果: 12345678910//结算public void deposit(double money) { double newBalance=this.balance+money; try { Thread.sleep(10); } catch (InterruptedException e) { // TODO: handle exception } this.balance=newBalance; } 分割线 分割线的语法只需要三个 * 号 页内跳转自动生成目录: 参考 快捷键生成目录 手动生成目录 目录内容 \* \[1.语法示例\](#1) &emsp;\* \[1.1图片\](#1.1) 正文 &lt;h5 id="1">1.语法示例&lt;/h2> &emsp;&lt;h6 id="2">1.图片示例&lt;/h2> 例如 目录 [1.语法示例](#1) &emsp;[1.1图片](#1.1) 正文 <h5 id="1">1.语法示例</h2> <h6 id="1.1">1.1图片</h2> html标签实现 定义一个锚(id):<span id=”jump”>跳转到的地方</span> 使用markdown语法:[点击跳转](#jump) 例如: 跳转到的地方 点击跳转 常用快捷键 MarkdownPreview插件:快速预览:alt+m,前提需要设置该快捷键,MarkdownPreview没有默认的快捷键生成网页:按CTRL + B生成网页HTML;生成目录:在文章最前面添加[TOC]自动 生成目录 ;调出命令:Ctrl+Shift+P或是点击Preference->Package Control调出命令面板,输入mdp OmniMarkupPreviwer插件:Ctrl+Alt+O: Preview Markup in BrowserCtrl+Alt+X: Export Markup as HTML.Ctrl+Alt+C: Copy Markup as HTML MarkdownEditing插件插入链接:输入 “mdi + tab”插入图片:输入 “mdl + tab” 参考 MarkDown技巧:两种方式实现页内跳转 Markdown 语法说明 (简体中文版) Markdown: Basics (快速入门) Markdown——入门指南 怎么结合印象笔记来使用Sublime Text? 使用Sublime Text 3写Markdown Sublime插件:Markdown篇 MarkdownPad 2 安装和破解 markdown语法之如何插入图片]]></content>
<categories>
<category>工具</category>
</categories>
<tags>
<tag>Hexo</tag>
</tags>
</entry>
</search>