Fork me on GitHub

微服务部署:蓝绿部署、滚动部署、灰度发布等部署方案对比与总结

在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。 目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。本文笔者简单讨论一下目前比较流行的几种部署方案,或者说策略。如有不足之处请指出,如有谬误,请指正^_^。…

《Spring Cloud与Docker微服务架构实战》配套代码

不才写了本使用Spring Cloud玩转微服务架构的书,书名是《Spring Cloud与Docker微服务架构实战》 - 周立,已于2017-01-12交稿。不少朋友想先看看源码,现将代码放出。 本次放出的代码: 共计70+个DEMO 覆盖Eureka、Ribbon、Feign、Hystrix、Zuul、Spring Cloud Config、Spring Cloud Bus、Spring Cloud Sleuth、Docker、Docker Compose等。 …

Spring Cloud各组件配置属性总结

我们知道,Spring Cloud是个工具集,整合了各种组件。有的组件Spring Cloud是拿来主义,有的组件Spring Cloud又进行了一些增强(例如Feign)。这就导致Spring Cloud配置的分散——部分在Spring Cloud官方文档中有所提及,另外一些配置则分散在各组件自身Wiki中。 这样的现状,为Spring Cloud初学者带来新的挑战。事实上,经常有朋友在使用Spring Cloud的时候,咨询我相关组件的配置。 经过本书的讲解,相信大家已经发现,Spring Cloud大部分问题都可以使用配置属性来解决。本节笔者将相关组件的配置的地址罗列出来,方便读者查阅与检索。…

理解Eureka的自我保护模式

本文我们来探讨Eureka的自我保护模式。自我保护模式是Eureka的重要特性。进入自我保护模式最直观的体现,是Eureka Server首页输出的警告,如图4-10所示。 图4-10 Eureka Server自我保护模式界面…

《Spring Cloud与Docker微服务实战》实体书目录

《Spring Cloud与Docker微服务实战》实体书目录

不才写了本Spring Cloud微服务相关的书,书名是《Spring Cloud与Docker微服务实战》,已于2017-01-12交稿。 从书名来看,是本凑热闹的书,什么火写什么,其实是对现阶段工作的总结,希望对大家有帮助。全书共分为14章,其中,1-3章是一些入门知识,4-11章讲Sring Cloud,12-14章讲Docker。详见目录。…

最简日志打印规范

个人认为,如果在公司的野蛮生长阶段,一些基础类库不做约束,很可能“埋坑”,形成技术债务,最终为此付出代价。本文讲解一个最简的日志打印规范。事实上,日志打印规范互联网上已有很多,但大多比较冗长(记不住),也不太契合我们团队(关注点不契合)。 所以,我又造了个轮子,写了个简单易懂、容易记的“最简日志打印规范”,后续随着团队实力的增长,和项目的演进,会逐步增加新的条例。…

Config Server——使用Spring Cloud Bus自动刷新配置

Config Server——使用Spring Cloud Bus自动刷新配置

前文我们讨论了使用/refresh 端点手动刷新配置,但是如果所有微服务节点的配置都需要手动去刷新的话,那必然是一个繁琐的工作,并且随着系统的不断扩张,会变得越来越难以维护。因此,实现配置的自动刷新是很有必要的,本节我们讨论使用Spring Cloud Bus实现配置的自动刷新。 Spring Cloud Bus提供了批量刷新配置的机制,它使用轻量级的消息代理(例如RabbitMQ、Kafka等)连接分布式系统的节点,这样就可以通过Spring Cloud Bus广播配置的变化或者其他的管理指令。使用Spring Cloud Bus后的架构如图9-2所示。…

Config Server——配置内容的加密与解密

TIPS 更新于2019-01-30,基于Spring Cloud Finchley。 实际项目中,敏感的配置属性(例如数据库账号、密码等),都应加密存储,从而提高安全性。Config Server为配置内容的加密与解密提供了支持。 安装JCE Java 6 JCE地址:https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html Java 7 JCE地址:ht...

Eureka服务注册过程详解之IpAddress(详解eureka.instance.prefer-ip-address = true 与 eureka.instance.prefer-ip-address)

阅读本文你将了解 微服务注册到Eureka Server上的粗粒度过程 eureka.instance.prefer-ip-address = true 时,发生的一些事 深度理解eureka.instance.ip-address 和eureka.instance.prefer-ip-address = true 。 杂谈 注:本篇较长、枯燥、烧脑,并且涉及的范围相对广,建议选择一个舒服的姿势阅读。…