分布式系统
文章平均质量分 69
rhwayfunn
这个作者很懒,什么都没留下…
展开
-
Ehcache缓存入门实战(附源码)
Ehcache缓存入门实战(附源码)Ehcache是一个强大、成熟的Java缓存框架,可以非常容易与其他库和框架集成。官网声称Ehcache可以作为TB级别的数据缓存,并且具有高扩展性。目前Ehcache的最新版本是3.1。本文不会深究缓存背后的原理,只是作为一个使用Ehcache的例子,由于最近需要做一个类似二级缓存的功能,特地学习了下Ehcache。发现Ehcache作为一个本地缓存框架使用还是原创 2016-08-11 16:49:45 · 5304 阅读 · 2 评论 -
体系化认识微服务之三:微服务总体技术架构
体系化认识微服务之三:微服务总体技术架构这篇文章,介绍下微服务的总体架构体系,微服务拆分后涉及的服务众多,我们从一个全局的视角看下微服务架构涉及哪些方面。从上层到下层依次分为:接入层、网关、业务服务层、支撑服务层、平台服务层、基础设施层 技术构架总览:接入层接入层是入口,比如支付宝,接入层包括手机APP、Web、H5,是流量的入口,负责把外部的流量接入到系统的内部。网关...原创 2018-05-20 13:07:28 · 4651 阅读 · 0 评论 -
体系化认识微服务之一:什么是微服务
什么是微服务微服务作为一种架构风格,是从单体应用演化过来的。微服务真正让大家关注源于Martin·Fowler的一篇博客Microservices,文章对微服务定义如下: In short, the microservice architectural style is an approach to developing a single application as a suite ...原创 2018-05-06 13:34:32 · 1647 阅读 · 0 评论 -
体系化认识微服务之二:如何实施微服务架构
微服务作为一种架构风格,其主要特点是由很多小的服务组成,且每个服务都是可独立部署的,任何 一个服务的升级部署都不会影响其他的服务。那么在企业中如何实施 微服务这种架构呢?按业务组织团队康威法则:设计系统的组织,其产生的架构设计等价于族之间的沟通架构。 在以往传统的软件架构中,所有的功能都是在一个单体系统中完成的,每个团队都可以在上面修改代码,开发测试部署也比较方面。但是随着业务的扩展...原创 2018-05-12 17:07:04 · 1135 阅读 · 0 评论 -
Kafka术语解释
前一篇文章介绍了如何使用kafka收发消息,但是对于kafka的核心概念并没有详细介绍,这里将会对包括kafka基本架构以及消费者、生产者API涉及的术语进行说明。了解这些术语有助于更深入理解kafka。brokertopicstreampartitionoffsetproducerconsumerconsumer group原创 2017-07-31 23:04:50 · 2853 阅读 · 0 评论 -
Kafka消费者生产者实例
为了更为直观展示Kafka的消息生产消费的过程,我会从基于Console和基于Application两个方面介绍使用实例。Kafka是一个分布式流处理平台,具体来说有三层含义:它允许发布和订阅记录流,类似于消息队列或企业消息传递系统。它可以容错的方式存储记录流。它可以处理记录发生时的流。由于主要介绍如何使用Kafka快速构建生产者消费者实例,所以不会涉及Kafka内部的原理。一个基于Kafk原创 2017-07-30 18:22:56 · 29995 阅读 · 2 评论 -
Disconf实践指南:改造篇
上一篇文章Disconf实践指南:使用篇介绍了如何在项目中应用disconf,虽然实现了分布式配置的实时刷新,但是我们希望能够去除所有的配置文件,把配置都交给disconf管理,本地只需要实现配置监听接口就好了。改造包括: 统一配置到disconf 自定义配置解析实现 公共配置 #实现ing1、统一配置到disconf 主要是应用各个环境的配置信息,比如当前应用的配置信息appl原创 2017-06-18 13:50:07 · 3052 阅读 · 0 评论 -
Disconf实践指南:安装篇
Disconf是百度开源出来的一款基于Zookeeper的分布式配置管理软件。目前很多公司都在使用,包括滴滴、百度、网易、顺丰等公司。通过简单的界面操作就可以动态修改配置属性,还是很方便的。使用Disconf后发现的一大好处是省却应用很多配置,而且配置可以自动load,实时生效。Disconf优点总结如下: 部署简单:同一个上线包,无须改动配置,即可在多个环境中上线 部署动态化:更改配原创 2017-06-17 23:50:35 · 8624 阅读 · 8 评论 -
Disconf实践指南:使用篇
在上一篇文章Disconf实践指南:安装篇介绍了如何在本地搭建Disconf环境,下面我们介绍如何在项目中使用Disconf。由于某些功能特性对源码做了修改,所以在官方文档并没有提及。 环境基于macOS Sirerra。Windows建议安装Linux虚拟机首先打开disconf控制台:http://localhost:8091,第一步:创建应用,awesome-project(自定);第二原创 2017-06-18 11:10:39 · 19632 阅读 · 5 评论 -
支付宝Sofa框架简明笔记
Sofa框架概述SOFA是Service Oriented Fabric Architecture是一种分布式架构解决方案,是一个应用中间件,包含了RPC、消息、监控和服务治理。开发框架的组成 一个标准的sofa工程从上到下可以分为测试层、展现层、业务层、核心领域层和通用层,并且从测试层到通用层是层级依赖的。一般来说,如果下层模块依赖了上层模块的代码,那么就会出现循环依赖,导致工程报错。在通用层,又原创 2016-07-28 20:20:12 · 37514 阅读 · 3 评论 -
大型网站架构技能图谱(Java版)
在大型网站技术架构中,涉及到许多的技术,这些技术是具备大型网站架构设计能力的前提和基础。因为笔者对Java比较熟悉,所以下面的技术图谱都是围绕Java后端工程师展开的。如有不正确或者不完善的地方,欢迎补充。...原创 2016-09-05 19:37:46 · 14944 阅读 · 43 评论 -
大型网站架构演变史(含技术栈与价值观)
这篇文章是参考李智慧的《大型网站技术架构:核心原理与案例分析》和现蘑菇街CTO曽宪杰的《大型网站系统与Java中间件实践》写的一篇读书笔记。前言何谓大型网站?大型网站的特点是什么?大型网站架构发生演变的源动力是什么?大型网站的架构演变经历了哪些阶段?在演变的某个具体阶段使用到常用技术有哪些,为什么要使用这些技术,同时这些技术又解决了什么问题?笔者在初次接触大型网站时思考了以上几个问题,本着缘木求鱼的原创 2016-09-03 21:25:04 · 6939 阅读 · 4 评论 -
体系化认识微服务之四:服务注册发现机制
服务调用者要在众多的微服务中调用具体的服务提供者,必然涉及到负载均衡的问题,根据负载均衡的实现可以分为集中式LB、进程内LB和独立进程LB。集中式LBLB上有所有的服务地址配置,当服务消费者调用某个服务的时候,LB会根据负载均衡策略(随机、轮询等)将请求转发到具体的服务上。此外,服务调用者还需要知道LB的地址,通常的做法是运维在服务器上配置一个DNS域名或者IP,这个域名指向LB。...原创 2018-06-02 14:49:14 · 2465 阅读 · 0 评论