My Github
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 29 下一页
摘要: Ocelot本篇介绍了API网关的基础概念以及一个适合于.NET Core的开源项目Ocelot,并通过两个小案例(一个静态配置服务,一个结合Consul服务发现)来了解了API网关的作用和Ocelot的最基础的用法。下一篇会继续Ocelot的一些比较有用的功能(比如:限流、熔断、缓存,以及结合Swagger),继续做一些实践,也希望到时可以总结下来与各位园友分享。 阅读全文
posted @ 2018-06-12 23:51 EdisonZhou 阅读(27186) 评论(48) 推荐(77) 编辑
摘要: Polly本篇首先介绍了一下熔断、降级以及AOP的基本概念,然后从两个流行的库Polly和AspectCore的基本使用开始了解如何在.NET Core代码中实现熔断机制和AOP,最后通过结合Polly+AspectCore封装了一个Hystrix来介绍了一下如何在ASP.NET Core程序中如何做到标签式地快速实现熔断降级机制。后续,会将Polly与Ocelot结合实践API网关。 阅读全文
posted @ 2018-06-10 14:35 EdisonZhou 阅读(23075) 评论(28) 推荐(68) 编辑
摘要: Consul上一篇发布之后,很多人点赞和评论,不胜惶恐,这一篇把上一篇没有弄到的东西补一下,也算是给各位前来询问的朋友的一些回复吧。本篇主要针对服务注册使用了注册文件的方式进行注册,另外初步尝试了KV存储,最后通过Consul的watch机制搭建了一个告警服务并测试通过。总体来说,本篇主要是将上篇中遗留的内容进行了弥补,下篇将开始基于Ocelot+Polly的API网关服务实践,敬请期待,我要睡了。此外,今天是高考第二天,也预祝各位高三学子高考成功,加油最后两科! 阅读全文
posted @ 2018-06-08 00:36 EdisonZhou 阅读(12188) 评论(28) 推荐(30) 编辑
摘要: ConsulConsul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,比如 Airbnb的SmartStack等相比,Consul的方案更“一站式”,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等),使用起来也较 为简单。Consul用Golang实现,因此具有天然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行文件,方便部署,与Docker等轻量级容器可无缝配合。 阅读全文
posted @ 2018-06-03 16:10 EdisonZhou 阅读(48571) 评论(84) 推荐(130) 编辑
摘要: 红楼梦红楼梦是我国四大名著之一,被众多学者冠以四大名著之首的美誉,也是我们从学生时代开始就被老师灌输需要阅读的经典书籍(虽然我们学生时代未必阅读或读完过)。一百个读者有一百个哈姆雷特,而对于红楼梦,我觉得应该是每个读者的每次阅读感受下来都是不同的哈姆雷特。 阅读全文
posted @ 2018-05-19 14:19 EdisonZhou 阅读(3747) 评论(6) 推荐(3) 编辑
摘要: 自从6月份进行了年中总结,又是半年过去了,我的2017OKR又有了一些milestone。因此,按照国际惯例,又到了年终回顾的时候了,拉出来看看完成了多少。2017年的OKR只完成了60%不到,所以差不多是不及格的状态。也可以看到,对于专业基础和专业技术方面,我的完成项比较少(可能今年我对技术上的投入的确并不算很多)。但对于非技术书籍、体育锻炼以及业余生活目标项,我的完成度几乎在70%以上,我是比较满意的。因为,2017年我给自己的目标是要工作也要生活,所以可以看出2017年我是一直在追求工作与生活的平衡的(~_~)。 阅读全文
posted @ 2017-12-24 00:14 EdisonZhou 阅读(8751) 评论(9) 推荐(7) 编辑
摘要: MSSQL2008 T-SQL Query索引优化是查询优化中最重要的一部分,索引是一种用于排序和搜索的结构,在查找数据时索引可以减少对I/O的需要;当计划中的某些元素需要或是可以利用经过排序的数据时,也会减少对排序的需要。某些方面的优化可以适度提高性能,而索引优化经常可以大幅度地提高查询性能。 阅读全文
posted @ 2017-12-19 23:52 EdisonZhou 阅读(1309) 评论(0) 推荐(0) 编辑
摘要: MSSQL2008 T-SQL Query执行计划是优化器生成的用于确定如何处理一个给定查询的“工作计划”。一个计划包含一组运算符,通常按照特定的顺序来应用这些运算符。此外,一些运算符可以在它们之前的运算符还在处理时不应用(即不一定是完全串行),还有一些运算符也有可能被应用多次。 阅读全文
posted @ 2017-12-15 00:13 EdisonZhou 阅读(1019) 评论(0) 推荐(2) 编辑
摘要: 记得两年前追琅琊榜,每天12点等更新,一定要看完才睡。直至今天,仍然觉得琅琊榜真的拍的好演得好,也被胡歌再次圈粉(第一次还是在十二年前中学时看仙剑奇侠传第一部时,偏偏潇洒美少年,仗剑江湖为红颜!)胡歌曾说,他看完猎场的剧本后说这是他看过最精彩的剧本(很多人都持怀疑态度),以至于让放弃了琅琊榜2而选择了猎场。而众多实力派演员如孙红雷、张嘉译、祖峰等的加入,也拔高了大家对其的期望值。 阅读全文
posted @ 2017-12-09 17:53 EdisonZhou 阅读(2284) 评论(3) 推荐(0) 编辑
摘要: MSSQL2008 T-SQL Query《Microsoft SQL Server 2008技术内幕-T-SQL查询》一书介绍了MSSQL2008中高级T-SQL查询、性能优化等方面的内容,以及MSSQL2008新增的一些特性。本篇读书笔记主要记录第一章也是个人觉得对所有人都比较有用的一章:逻辑查询处理。因为这一章介绍了查询处理的核心基础,还因为SQL编程和其他类型的编程有很大的区别。 阅读全文
posted @ 2017-12-09 15:21 EdisonZhou 阅读(1308) 评论(2) 推荐(1) 编辑
摘要: 这是一本介绍带团队的书,今年最重要的角色变换就是要从个人开发者向Team Lead的转变,于是看一点鸡汤充实一下。 阅读全文
posted @ 2017-12-08 00:14 EdisonZhou 阅读(1185) 评论(2) 推荐(2) 编辑
摘要: 从三月份开始学习设计模式,目前半年已经过去了,完成了23种设计模式的学习与代码编写,还发布了23篇设计模式的博客。此处就将其汇总,希望能够对有兴趣的读者有用! 阅读全文
posted @ 2017-09-13 22:17 EdisonZhou 阅读(10804) 评论(6) 推荐(22) 编辑
摘要: 虽然目前计算机编程语言有好几百种,但有时人们还是希望用一些简单的语言来实现特定的操作,只需要向计算机输入一个句子或文件,就能按照预定的文法规则来对句子或文件进行解释。例如,我们想要只输入一个加法/减法表达式,它就能够计算出表达式结果。例如输入“1+2+3-4+1”时,将输出计算结果为3。像C++,Java或C#都无法直接解释类似这样的字符串,因此用户必须自定义一套文法规则来实现对这些语句的解释,即设计一个自定义语言。如果所基于的编程语言是面向对象语言,此时可以使用解释器模式实现自定义语言。 阅读全文
posted @ 2017-09-12 23:07 EdisonZhou 阅读(2796) 评论(5) 推荐(8) 编辑
摘要: 我们都用过QQ,它有两种聊天方式:一是私聊,二是群聊。使用QQ群,一个用户就可以向多个用户发送相同的信息和文件,从而无需一一发送,节省大量时间。通过引入群的机制,极大地减少系统中用户之间的两两通信,用户与用户之间的联系可以通过群的机制来实现。在有些软件中,某些类/对象之间的相互调用关系错综复杂,类似于QQ用户之间的关系,此时,特别需要一个类似“QQ群”一样的中间类来协调这些类/对象之间的复杂关系,以降低系统的耦合度。因此,一个设计模式因此诞生,它就是中介者模式。 阅读全文
posted @ 2017-09-11 00:04 EdisonZhou 阅读(2128) 评论(1) 推荐(8) 编辑
摘要: 我们都用过电视机遥控器,通过它我们可以进行开机、关机、换台、改变音量等操作。我们可以将电视机看做一个存储电视频道的集合对象,通过遥控器可以对电视机中的频道集合进行操作,例如返回上一个频道、跳转到下一个频道或者跳转到指定的频道等。遥控器的出现,使得用户不需要知道这些频道到底如何存储在电视机中。在软件开发中也存在类似于电视机一样的类,他们可以存储了多个成员对象(元素),这些类通常称为聚合类(Aggregate Class),对应的对象称为聚合对象。为了更加方便地操作这些聚合对象,同时可以很灵活地为聚合对象增加不同的遍历方法,也需要类似于电视机遥控器一样的角色,可以访问一个聚合对象中的元素担忧部需要暴露它的内部结构,这就是我们需要学习的迭代器模式。 阅读全文
posted @ 2017-09-03 19:29 EdisonZhou 阅读(2474) 评论(1) 推荐(6) 编辑
摘要: 相信每个人都有后悔的时候,但是人生并无后悔药,有些错误一旦发生就无法再挽回,有些事一旦错过就不会再重来,有些话一旦说出口也就不可能再收回,这就是人生。为了不让自己后悔,我们总是需要三思而后行。这里我们要学习一种可以在软件中实现后悔机制的设计模式—备忘录模式,它是软件中的“后悔药”。 阅读全文
posted @ 2017-08-23 23:51 EdisonZhou 阅读(1895) 评论(1) 推荐(5) 编辑
摘要: 在生活中,我们装修新房的最后几道工序之一是安装插座和开关,通过开关可以控制一些电器的打开和关闭,例如点灯或换气扇。在购买开关时,用户并不知道它将来到底用于控制什么电器,也就是说,开关与电灯、换气扇并无直接关系,一个开关在安装之后可能用来控制电灯,也可能用来控制换气扇或者其他电器设备。相同的开关可以通过不同的电线来控制不同的电器。在软件开发中也存在很多与开关和电器类似的请求发送者和接受者对象,例如一个按钮,它可能是一个“关闭窗口”请求的发送者,而按钮点击事件处理类则是该请求的接受者。为了降低系统的耦合度,将请求的发送者和接收者解耦,可以使用一种被称为命令模式的设计模式来设计系统。 阅读全文
posted @ 2017-08-13 23:15 EdisonZhou 阅读(2634) 评论(0) 推荐(9) 编辑
摘要: 俗话说条条大路通罗马,很多情况下实现某个目标地途径都不只一条。在软件开发中,也会时常遇到这样的情况,实现某一个功能有多条途径,每一条途径都对应一种算法。此时,可以使用一种设计模式来实现灵活地选择解决途径,也能够方便地增加新的解决途径。 阅读全文
posted @ 2017-08-06 17:09 EdisonZhou 阅读(10924) 评论(1) 推荐(10) 编辑
摘要: 在现实生活中,很多事情都需要经过几个步骤才能完成,例如请客吃饭,无论吃什么,一般都包含:点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单->吃东西->买单。在这3个步骤中,点单和买单大同小异,最大的区别在于第2步-吃什么?吃面条和吃满汉全席可大不相同。在软件开发中,有时候也会遇到类似的情况,某个方法的实现需要多个步骤(类似于“请客”),其中有些步骤是固定的,而有些步骤则存在可变性。为了提高代码复用性和系统灵活性,可以使用一种称之为模板方法模式的设计模式来对这类情况进行设计。 阅读全文
posted @ 2017-07-31 22:15 EdisonZhou 阅读(2204) 评论(0) 推荐(5) 编辑
摘要: 在患者就医时,医生会根据病情开具处方单,很多医院都会存在以下这个流程:划价人员拿到处方单之后根据药品名称和数量计算总价,而药房工作人员根据药品名称和数量准备药品,如下图所示。在软件开发中,有时候也需要处理像处方单这样的集合对象结构,在该对象结构中存储了多个不同类型的对象信息,而且对同一对象结构中的元素的操作方式并不唯一,可能需要提供多种不同的处理方式。在设计模式中,有一种模式可以满足上述要求,其模式动机就是以不同的方式操作复杂对象结构,该模式就是访问者模式。 阅读全文
posted @ 2017-07-30 20:06 EdisonZhou 阅读(9936) 评论(4) 推荐(19) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 29 下一页