背景 当我们把应用的配置都放到配置中心后,很多人会想到这样一个问题,配置里面有敏感的信息要怎么处理呢? 信息既然敏感的话,那么加个密就好了嘛,相信大部分人的第一感觉都是这个,确实这个是最简单也是最合适的方法. 其实很多人都在关注这个问题,好比说,数据库的连接字符串,调用第三方的密钥等等这些信息,都是不太想让很多人知道的. 那么如果我们把配置放在 Nacos 了,我们可以怎么操作呢? 想了想不外乎这么几种: 全部服务端搞定,客户端只管取: 全部客户端搞定,服务端只管存: 客户端为主,服务端为辅,服…
基于安全考虑,我们php项目配置文件中密码应该是加密的,laravel中也提供了OpenSSL 的 AES-256-CBC 来进行加密 但是如果我们项目配置的是其他加密方式,且希望以最少的改动实现读取加密配置并解密,如何修改代码呢? 首先我们需要了解laravel(我的laravel是5.5)的配置加载流程. laravel 配置文件加载由配置类 /Illuminate/Foundation/Bootstrap/LoadConfiguration.php 的bootstrap 方法完成. pub…
前言 双11那天离职后,这段时间都待在家里,看看书,写写代码,逛逛招聘网站 周一去Gworld面试的时候,有听到面试官说他们用到了配置中心Apollo,聊下来,听他的意思,大概是处理了多环境这个比较方便. 于是乎就有了这篇短文,来简单谈谈Nacos做为配置中心时,怎么应对多环境的问题. 现在比较流行的配置中心,说来说去,听的比较多的也就下面几个: Apollo Spring Config Nacos consul etcd 严格意义上说,只要是支持KV的,都可以做为配置中心来耍,看你对它的需求有…
引言 这是一个有关AES加解密的方法类 一.设置AES加解密密钥:下面列出自己分配的三类密钥 private const string UserKey = "roshan-2015-user"; //加密用户名和密码 , , , , , , , , }; private const string ServerAuthTokenKey = "roshan2015server"; //加密服务端AuthToken , , , , , , , , }; private c…
背景 之前老黄写过一篇<ASP.NET Core结合Nacos来完成配置管理和服务发现>简单介绍了如何让.NET Core程序接入Nacos,之前的SDK里面更多的是对Nacos的Open API进行了封装以及对服务注册和发现的封装. 配置这一块当时并没有过多的处理,用起来有时感觉不会特别顺手,所以将它和.NET Core的配置结合起来了,让它用起来更简便. 怎么个简便法呢? 可以说,除了多添加一下provider,其他的操作都是和最原始的一模一样,你想用IConfiguration就用ICo…
理解了上述Environment的基本原理后,如何从远程服务器上加载配置到Spring的Environment中. NacosPropertySourceLocator 顺着前面的分析思路,我们很自然的去找PropertySourceLocator的实现类,发现除了我们自定义的GpJsonPropertySourceLocator以外,还有另外一个实现类NacosPropertySourceLocator. 于是,直接来看NacosPropertySourceLocator中的locate方法,…
前言 在看正文之前,我想请你回顾一下自己待过的公司都是怎么管理配置的,我想应该会有以下几种方式: 1.硬编码 没有什么配置不配置的,直接写在代码里面,比如使用常量类 优势:对开发友好,开发清楚地知道代码需要用到什么配置 劣势:涉及秘钥等敏感配置直接暴露给开发人员,不安全:如果想修改配置必须重新发版,比较麻烦 2.外部化配置文件 Spring项目经常会在resoures目录下放很多配置文件,各个环境对应不同的配置文件,通过SVN管理 优势:配置文件外部化,支持多环境配置管理,修改配置只需重启服务,…
目录 前言 Nacos的简介 启动Nacos 配置管理 服务发现 写在最后 前言 今年4月份的时候,和平台组的同事一起调研了一下Nacos,也就在那个时候写了.net core版本的非官方版的SDK. 虽然公司内部由于某些原因最后没有真正的用起来,但很多人还是挺看好的.在和镇汐大大沟通后,决定写一篇博客简单介绍一下. 下面这个图,就是本文的重点了. Nacos的简介 Nacos是一个易于构建云原生应用的动态服务发现.配置管理和服务管理平台,它提供了一组简单易用的特性集,帮助我们快速实现动态服务发…
最近公司想要用配置中心,因为公司用的有传统的spring项目,有springboot项目,为了兼容都能够采用配置中心,做了一些尝试,经过比较还是倾向于使用nacos,传统dubbo采用spring方式读取xml读取配置文件的方式启动,其配置数据源,redis,rabbitmq等采用的是xml的配置,xml中取值是个问题,为了兼容xml能从远程配置中心更好的取值,做了一系列尝试. 比较当前的一些配置中心 Nacos的部署结构比较简单,运维成本较低.Apollo部署组件较多,运维成本比Nacos高.…
配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置:第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置.要了解配置同步机制的实现原理,先得从认识一个名为ConfigurationReloadToken的类型开始. [ 本文已经同步到<ASP.NET Core框架揭秘>之中] 目录一.从ConfigurationReloadToken说起二.Configuration对象与配置文件的同步三.应用重新加载的配置四.同步流程总结 一.从Config…