随笔分类 - 重构
摘要:传统应用架构 存在问题: 系统资源浪费 部署效率太低 技术选型单一 为服务架构的要求 根据业务模块划分服务种类 每个服务可独立部署 & 相互隔离 通过轻量级API调用服务 服务需保证良好的高可用性 微服务架构 冒烟测试 Git Flow 微服务架构模式网站: http:mircroservices.
阅读全文
摘要:构建Docker映像 定义Dockerfile=》Docker根据Dockerfile构建出映像 包含: 基础映像(父映像)信息 维护者信息 映像操作命令 容器启动命令 基础映像(父映像)信息 维护者信息 映像操作命令 容器启动命令 .net standard中的示例,如下: 配置Docker主机
阅读全文
摘要:场景分析 描述产品服务,基于REST的接口 表述性状态转移(Representational State Transfer,REST) 任务拆分 将整体要做的工作内容划分成小的任务: 统一时间聚焦一个任务 对每次完成的部分做持续集成 整体的进度容易追踪 思维导图 Hello World API 开发
阅读全文
摘要:微服务遵循前提: 业务独立性:推荐书籍 Eric Evans《领域驱动模型》 团队自主性: 特点 单一职责:推荐书籍 Robert C.Martin《敏捷软件开发:原则、模式和实现》 轻量级通信:语言无关、平台无关的交互方式 独立性:交付过程中,开发(功能)、测试、部署的独立性;服务与服务的独立、隔
阅读全文
摘要:Druid的发送数据和查询数据 Druid 开篇 - 大数据实时探索性分析平台 官网 Druid 一次海量数据实时处理的实践 使用HDFS作为Druid的deepStorage 在哪里下载druid 正式版本下载:maven中央仓库: http://central.maven.org/maven2/
阅读全文
摘要:Druid (大数据实时统计分析数据存储) Druid 是一个为在大数据集之上做实时统计分析而设计的开源数据存储。这个系统集合了一个面向列存储的层,一个分布式、shared-nothing的架构,和一个高级的索引结构,来达成在秒级以内对十亿行级别的表进行任意的探索分析。 1. 介绍 在最近几年,互联
阅读全文
摘要:利用C#实现AOP常见的几种方法详解 AOP面向切面编程(Aspect Oriented Programming) 是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 下面这篇文章主要给大家介绍了关于利用C#实现AOP常见的几种方法,需要的朋友可以参考借鉴,下面来一起看看吧。 前言
阅读全文
摘要:IoC容器和Dependency Injection 模式 使用 Service Locator 依赖注入的最大好处在于:它消除了MovieLister类对具体 MovieFinder实现类的依赖。 这样 一来,我就可以把 MovieLister 类交给朋友,让他们根据自己的环境插入一个合适的 Mo
阅读全文
摘要:IoC容器和Dependency Injection 模式 Java 社群近来掀起了一阵轻量级容器的热潮,这些容器能够帮助开发者将来自不同项目的组件组装成为一个内聚的应用程序。 在它们的背后有着同一个模式,这个模式决定了这些容器进行组件装配的方式。 人们用一个大而化之的名字来称呼这个模式:“控制反转
阅读全文
摘要:使用Redis做预定库存缓存功能 缓存是在业务层做的,准确讲应该是在MVC模型中Model的ORM里面 PHP项目的缓存从以前的APC缓存逐渐切换到Redis中,并且根据Redis所支持的数据结构做了库存维护功能 主要逻辑就是先查缓存,查不到的话再查数据库。 库存管理方案(Redis) Redis支
阅读全文
摘要:高可用Redis服务架构分析与搭建 各种web开发业务中最为常用的key-value数据库了 应用: 在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。
阅读全文
摘要:1.try{}catch{} 中的exception: 异常,不要吞掉,该throw的应该throw出来,由项目统一的ExceptionHandler统一处理 尽量丰富throw出的exception信息 日志记录 2.webapi项目 返回、传参:类型明确,非object、IActionResul
阅读全文
摘要:目的:方便用户在命令行使用过程中减少工作量 以前版本没这个类时,如果要运行带参数的.exe,必须在命令行中输入文件路径以及各种参数,并且输入的参数格式要与代码中的if语句判断内容格式一样,一不小心就输错了,很不方便。另外如果想要更改输入格式的话在主函数文件中要相应更改很多地方。现在有了这个类,只需要
阅读全文
摘要:“interface”。容易被理解、使用的接口,是开发良好面向对象软件的关键 良好的接口,只向用户展现必须展现的东西。如果一个接口暴露了过多的细节,需要将不必要暴露的东西隐藏起来,从而改进接口的质量 所有数据都应该隐藏起来。 所有可以隐藏的函数都应该被隐藏起来。hide method、remove
阅读全文
摘要:doc Hadoop初探之Stream Hadoop Stream 用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试 用python + hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控 用python +
阅读全文