关于Consul Consul是一个提供服务注册与发现,健康监测,Key/Value存储以及多数据中心存储的分布式框架.官网地址是https://www.consul.io/,公司初步应用后我们老大觉得这东西有点意思,随即有了翻译文档的想法,由于精力有限工作繁忙,急需志同道合的道友一起来翻译下,毕竟好东西还是需要大家一起推广的,翻译链接是:http://consul.la/,本文主要留下一点DNS转发的简单应用. 优势 基于Consul提供的DNS查询接口可以把注册在Consul内部的服务可以以…
在上篇文章里面我们说到了Github账号的申请与配置 那么当你有了Github账号并创建了一个自己的Github项目之后,首要的当然是搭建自己的项目框架啦! 本人对自己的定位是web前端狗,常用开发框架是angular,所以在这里主要说Github+yeoman+gulp-angular初始化搭建angularjs前端项目框架. 什么是Yeoman? Yeoman是Google的团队和外部贡献者团队合作开发的,他的目标是通过Grunt(一个用于开发任务自动化的命令行工具)和Bower(一个HTM…
 一.什么是OCTO 定义: OCTO是美团的分布式服务通信框架及服务治理系统,属于公司级基础设施,目前尚未开源. 目标: 为公司所有业务提供统一的服务通信框架,使业务具备良好的服务运营能力,轻松实现服务注册.服务自动发现.负载均衡.容错.灰度发布.调用数据可视化等,持续提升服务高可用性.服务运维效率. 类比: 美团点评内部类似的框架还有pigeon(已开源,https://github.com/dianping/pigeon).OCTO是octopus(章鱼)的缩写,pigeon是鸽子的意思,…
1.搭建整体父工程 microservicecloud 新建父工程microservicecloud,切记是Packageing是pom模式 主要是定义POM文件,将后续各个子模块公用的jar包等统一提出来,类似一个抽象父类 1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:…
随着公司业务需求的不断迭代发展,工程的代码量和业务逻辑也越来越多,原始的开发模式和架构已经无法满足我们的业务发展速度了,这时我们就需要将原始项目进行一次重构大手术了.这时我们应该很清晰这次手术的动刀口在哪,就是之前的高度耦合的业务组件和功能组件,手术的目的就是将这些耦合拆分成互相独立的各个组件. 工程效果预览 组件化工程示例项目地址 组件化开源项目Git仓库地址 下面我们围绕这几个问题来展开讲解 为什么要用组件化,它给我们带来哪些优势 各个组件该如何进行拆分,拆分的颗粒度该如何控制 如何从零到一…
简介: mpvue框架对于从没有接触过小程序又要尝试小程序开发的人员来说,无疑是目前最好的选择.mpvue从底层支持 Vue.js 语法和构建工具体系,同时再结合相关UI组件库,便可以高效的实现小程序开发 前言: 本文讲述如何搭建完整的小程序项目框架,因为是第一次使用,有不完善的地方请大佬指正. 搭建内容包括: 1.使用scss语法:依赖插件sass-loader .node-sass 2.像vue一样使用路由:依赖插件 mpvue-entry 和 mpvue-router-patch 3.使用…
一,概述 随着公司业务需求的不断迭代发展,工程的代码量和业务逻辑也越来越多,原始的开发模式和架构已经无法满足我们的业务发展速度了,这时我们就需要将原始项目进行一次重构大手术了.这时我们应该很清晰这次手术的动刀口在哪,就是之前的高度耦合的业务组件和功能组件,手术的目的就是将这些耦合拆分成互相独立的各个组件. 二,为什么要用组件化 我们先来张图看看在没有使用组件化前,我们各个模块间的依赖关系 从上面这种各个业务组件的依赖关系来看,他们是互相依赖的,业务组件和业务组件间产生了严重的耦合关系,这样一来对…
简介 Consul-template是Consul的一个方扩展工具,通过监听Consul中的数据可以动态修改一些配置文件,大家比较热衷于应用在Nginx,HAProxy上动态配置健康状态下的客户端反向代理信息.GitHub上的文档比较详细,这里简单做个入门介绍. 关于配置中心不做过多介绍了.简单描述就是项目多了,管理起来就会比较复杂,比如在海量应用中要修改一部分应用中的某些配置,由于大家变得越来越懒了,为了保证灵活稳定及时等,配置中心的重要性也就体现出来了. 假定场景 此处假定一个高可用redi…
1- 创建虚拟环境名称(在虚拟机中) mkvirtualenv -p /usr/bin/python3 envname   (/usr/bin/python3 - 你自己在虚拟机中的Python解释器路径:envname - 虚拟环境名称): 附:workon - 查询已有的虚拟环境:rmvirtualenv envname - 删除虚拟环境:deactivate -  退出虚拟环境: 2- 安装Django workon django: 1.2.1- 进入自己要建立项目的文件夹 cd  你的文…
今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做哪些东西各位跟着我一步一步来进行. 假定我们即将要写的项目是一个tabbar+navgation的项目结构. 1. 新建工程 1.1 删除不必要类目 选择Single ViewApplication,命名为HomeHome删除选中的三项. 删除选中的三项 1.2 修改info.plist 1.删除info.plist main.stor…