摘要: DNC今年从原来的Team里面被抽出来加入了新的Team,开始使用做Java微服务的开发工作,接触了Spring Boot与Spring Cloud等技术栈,对微服务这种架构有了一个感性的认识。虽然只做了两个月的开发工作,但是对微服务架构的兴趣却没有结束,又因为自己的.NET背景(虽然对.NET的生态有点恨铁不成钢),想要探索一下在.NET平台下的微服务架构的可行性,也准备一些材料作为公司内部培训和分享课程的素材。幸运的是,在.NET Core首届在线峰会上,看到了很多前辈的分享,也增强了自己要摸索和实践.NET Core微服务架构的决心,因此想要写下这个系列的文章。阅读全文
posted @ 2018-07-01 13:18 Edison Chou 阅读(2564) 评论(9) 编辑
摘要: dotNet最近一直反复地看博客园以前发布的一条.NET全栈开发工程师的招聘启事,觉得这是我看过最有创意也最朴实的一个招聘启事,更为重要的是它更像是一个技术提纲,能够指引我们的学习和提升,现在转载过来与各位园友分享。阅读全文
posted @ 2015-09-18 23:56 Edison Chou 阅读(13804) 评论(45) 编辑
摘要: 为了赶上大数据时代的发展,迎接云计算的思维,我选择业余时间学习Hadoop。我会从Hadoop1.x版本开始学习经典的HDFS与MapReduce,然后了解Hadoop2.x版本与老版本的差异,熟悉一些常见的Hadoop应用场景,并学着实践一个经典的网站日志数据分析案例。阅读全文
posted @ 2015-04-20 00:15 Edison Chou 阅读(9874) 评论(6) 编辑
摘要: 写博客是一个既痛苦又快乐的征途,作为一个计算机专业的毕业生,作为一个IT行业的从业者,看博客、评博客、写博客是一份坚持和一个习惯。每一次写博文,我都力求深入浅出,充分地多使用相关图片补充介绍,也形成了一个自己的写作风格。我会坚持,记录自己所学所见所感,分享给各位园友。阅读全文
posted @ 2014-07-15 09:26 Edison Chou 阅读(8070) 评论(14) 编辑
摘要: Steeltoe本文极简地介绍了一下Spring Cloud Zuul,并使用Java快速地编写了一个API网关Zuul Server,然后基于上一篇的三个ASP.NET Core演示了一下API网关的效果。当然,对于Zuul还有很多内容,这里就不再一一演示,有兴趣的童鞋或者对这种混搭式的架构感兴趣的童鞋可以去了解一下。阅读全文
posted @ 2018-09-22 00:06 Edison Chou 阅读(57) 评论(0) 编辑
摘要: Steeltoe本文简单地介绍了一下Steeltoe与Spring Cloud,然后演示了一下基于Steeltoe使得ASP.NET Core应用程序与Spring Cloud Eureka进行集成以实现服务注册与发现的效果。更多内容,请参考Steeltoe官方文档或示例项目。对于已有Spring Cloud微服务架构环境的项目,如果想要ASP.NET Core微服务与Java Spring Boot微服务一起共享Spring Cloud Eureka来提供服务,基于Steeltoe是一个选择(虽然觉得不是最优,毕竟是寄居)。阅读全文
posted @ 2018-09-21 00:23 Edison Chou 阅读(456) 评论(14) 编辑
摘要: SpringBoot&Docker本文极简地介绍了如何通过借助dockerfile的方式部署一个spring boot应用程序到docker,docker compose的快速入门示例以及如何通过docker compose编排spring cloud微服务应用程序,还介绍了实现编排高可用eureka server以及可伸缩的微服务的实现思路。关于docker与docker compose,还有许许多多的内容,其官方文档已经写得非常详细,并对常见的问题也已经有了很多详细的总结,大家可以参见:https://doc.docker.com/compose/faq/ 浏览。此外,十分感谢本文参考资料周立老师著的《Spring Cloud与Docker微服务架构实战(第二版阅读全文
posted @ 2018-09-17 08:03 Edison Chou 阅读(316) 评论(4) 编辑
摘要: SpringCloudSpring Cloud是一个基于Spring Boot实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式会话和集群状态管理等操作提供了一种简单的开发方式。本文主要介绍了本人练习实践中的Samples示例,基于Spring Boot 1.5.x,全面涵盖了服务注册于发现、客户端负载均衡、声明式服务调用、容错管理、统一配置等Spring Cloud核心组件,可以作为学习Spring Cloud的参考示例。阅读全文
posted @ 2018-09-12 21:33 Edison Chou 阅读(430) 评论(5) 编辑
摘要: 稻城亚丁风景区位于四川省甘孜藏族自治州稻城县香格里拉镇(香格里拉镇原名是日瓦乡,不要跟云南的香格里拉市弄混淆了)亚丁村境内,主要由“仙乃日、央迈勇、夏诺多吉”三座神山和周围的河流、湖泊和高山草甸组成,它的景致保持着在地球上近绝迹的纯粹,因其独特的地貌和原生态的自然风光,被誉为“香格里拉之魂”和“最后的香格里拉”,被国际友人誉为“水蓝色星球上的最后一片净土”,是摄影爱好者的天堂。阅读全文
posted @ 2018-09-09 13:52 Edison Chou 阅读(2157) 评论(29) 编辑
摘要: SitecoreSitecore就是一个基于ASP.NET技术的CMS系统,它不仅具有传统Web CMS的所有功能,还集成了Marketing营销(当然,这个功能价格不菲)的功能,可以提供一个一站式的在线营销解决方案。本文针对个人真实经历的Sitecore学习与认证过程,从一个普通开发人员的视角谈一谈Sitecore的优势与槽点,并说说操蛋的Sitecore的认证考试。如果你有意或是被迫要参加Sitecore的认证考试,那么本文有福利。阅读全文
posted @ 2018-08-17 17:06 Edison Chou 阅读(566) 评论(2) 编辑
摘要: 2017年,在前公司领导刘总的推荐下,在得到App上订阅了吴军老师的《硅谷来信》,从此每天刷牙洗脸的时间就开始听吴军老师在大洋彼岸寄来的信件了。整个来信涵盖了职业发展、工作效率、业余生活等多个主题,从一流科学家/工程师的视角可以看到很多不一样的思维方式。2018年,我将其一一记录下来形成思维导图,也算是一个复习,这一篇是工作篇的内容。阅读全文
posted @ 2018-08-14 12:43 Edison Chou 阅读(3341) 评论(32) 编辑
摘要: JenkinsJenkins 是一款流行的开源持续集成(CI)与持续部署(CD)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。本篇简单介绍了一下持续集成、持续交付与持续部署的基本概念,然后介绍了如何在CentOS7.x下安装Jenkins并初始化Jenkins。下一篇会会结合ASP.NET Core与Docker来一个持续部署的实例。阅读全文
posted @ 2018-08-11 21:24 Edison Chou 阅读(1184) 评论(7) 编辑
摘要: 上半年浑浑噩噩,制定的OKR只完成了20%不到,技术方面的目标完成的比较少。不过,欣慰的是自己又开始了博客写作,并且开启了一个新的系列《.NET Core微服务基础实践系列》,这个系列文章介绍了基于.NET Core的微服务架构所用到的一些流行开源项目,获得了很多童鞋的关注和点赞,也激励着我继续学习研究.NET Core的决心。工作上,由于自己“被”加入了Java微服务开发团队,因此加入了Java的学习计划,而且会接触Java微服务生态圈,准备吸收一点东西来充实自己。阅读全文
posted @ 2018-08-09 23:21 Edison Chou 阅读(178) 评论(0) 编辑
摘要: SpringBoot今年“被”转到了Java Team开始了微服务开发的工作,接触了Spring Boot这个新瓶装旧酒的技术,也初步了解了微服务架构。Spring Boot是Spring4之后整合的产物,它摒弃了原来Spring的一大堆的配置,采用了约定大于配置的方式,还是原来的配方,还是原来的佐料,让各路开发人员能够快速地使用Java开发微服务程序。此示例项目主要基于程序猿DD的SpringBoot教程所做的学习实践,基于SprintBoot 1.5.15版本,每个项目均演示了部分内容。由于程序猿DD的文章示例版本太旧,部分Code无法正常运行,所以在学习途中(非SpringBoot2.0版本的学习)可以参考本示例Demo来学习。阅读全文
posted @ 2018-08-08 00:44 Edison Chou 阅读(237) 评论(5) 编辑
摘要: Apollo本篇简单介绍了一下统一配置中心与Apollo的基本概念,然后介绍了Apollo的快速安装(基于QuickStart)与基本配置,最后通过与ASP.NET Core的集成演示了如何在项目中使用Apollo替代原有的配置文件(appsettings.json)。当然,本篇只是一个QuickStart,更多的内容都没有覆盖,需要我们去看官方Wiki了解。Apollo目前在国内开发者社区比较热,在Github上有超过5k颗星,在国内众多互联网公司有落地案例,值得我们学习和了解。阅读全文
posted @ 2018-08-04 19:58 Edison Chou 阅读(1720) 评论(9) 编辑
摘要: APM本篇首先简单介绍了一下App.Metrics、InfluxDB与Grafana,然后介绍了如何安装和配置这套开源监控组合,最后通过与API网关Ocelot的集成,让我们的ASP.NET Core程序可以跑在监控平台之下,并可以通过Grafana的Dashboard实时查看性能数据。当然,本篇只是一个简单的Quick Start,很多细节没有深究,有兴趣的园友可以通过参考资料去仔细研究。阅读全文
posted @ 2018-07-29 12:45 Edison Chou 阅读(772) 评论(8) 编辑
摘要: DockerDocker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。本篇极简地介绍了一下Docker,然后介绍了如何在Linux上安装Docker,以及如何发布我们的ASP.NET Core到Docker中。最后,推荐了两篇文章介绍如何配置Supervisor作为.NET Core应用程序的守护进程。阅读全文
posted @ 2018-07-26 23:14 Edison Chou 阅读(983) 评论(15) 编辑
摘要: CAP本篇首先简单介绍了一下CAP这个开源项目,然后基于上一篇中的下订单的小案例来进行了基于CAP的改造,并通过一个实例的运行来看到了结果。当然,这个实例并不完美,很多点都没有考虑(比如消息端消费时的幂等性)和失败重试的场景实践等等等等。由于时间和精力的关系,目前只使用到这儿,以后有机会能够应用上会研究下CAP的源码,最后感谢杨晓东为.NET社区带来了一个优秀的开源项目!阅读全文
posted @ 2018-07-25 00:27 Edison Chou 阅读(960) 评论(4) 编辑
摘要: CAP本篇主要基于一个小案例(订单业务处理场景),首先介绍了其业务场景与基本业务流程,然后通过介绍相关的每个服务的代码实现,最后通过一个快速的测试演示了数据如何达到最终一致性。当然,这个小案例并不完整,没有对重试的补偿机制以及失败后的回滚机制进行演示和测试,不过有兴趣的朋友可以自行改代码实现。最后,再次强调实现数据的最终一致性有很多方案,这里只是举一种我从桂素伟老师那里所学到的比较简单易于学习的实现方式而已。对MassTransit感兴趣想应用于生产环境的朋友,可以去了解了解saga。阅读全文
posted @ 2018-07-22 01:00 Edison Chou 阅读(813) 评论(6) 编辑