基于微服务的企业应用架构设计范式

这个话题曾经分别在PWorld大会和QCon2016大会上做过分享,得到不错的反响,今天终于有时间整理到博客上了。 微服务好像是这两年突然火起来的,其实和很多其他架构风格一样,微服务架构也是我们在用软件改变世界的过程中,为了适应内外部环境的变化,而逐渐演化出的一种当前的最佳实践。 比如SOA,比如J2EE,比如传统分布式;微服务架构和它们都有千丝万缕的联系。

  • 0
  • 0
  • 发布于 2019-08-27 14:03
  • 阅读 ( 915 )

软件架构:5种你应该知道的模式

Singleton(单例模式)、仓储模式(repository)、工厂模式(factory)、建造者模式(builder)、装饰模式(decorator)……大概每个上课听讲的程序员都不会陌生——软件的设计模式为我们提供了针对现有的、重复出现的问题以可靠的解决方案。 在软件架构方面同样存在类似的机制,通用的、可重用的解决方案在给定上下文中的软件体系结构中经常出现的问题。不同的软件架构模式

  • 0
  • 0
  • 发布于 2019-08-27 13:18
  • 阅读 ( 1266 )

微服务架构选Java还是选Go - 多用户负载测试

IvanNikitsenka 微服务架构允许我们再创建新应用时自由选择不同的技术和编程语言。不过究竟哪种语言更适合我们当下的硬件?回答这个问题,需要搞明白Java和Go编写的相同应用程序之间的性能差异。 先决条件 不采用其他性能增强功能 使用默认框架和库设置的最小配置 没有ORM框架 使用纯DB驱动程序和相同的SQL查询 用于Java的PostgresJDBC4.2驱动程序和用于Go的github.com/lib/pq 怎么做

  • 0
  • 0
  • 发布于 2019-08-27 13:17
  • 阅读 ( 2126 )

Sidecar模式:下一代微服务架构的关键

Sidecar设计模式正在收到越来越多的关注和采用。作为ServiceMesh的重要要素,Sidecar模式对于构建高度高度可伸缩、有弹性、安全且可便于监控的微服务架构系统至关重要。而ServiceMesh也已经被证明,正在改变企业IT的“游戏规则”,它降低了与微服务架构相关的复杂性,并提供了负载平衡、服务发现、流量管理、电路中断、遥测、故障注入等功能特性。 什么是Sidecar模式? Sidec

  • 0
  • 0
  • 发布于 2019-08-27 13:17
  • 阅读 ( 1274 )

利用Java上手微服务架构

作者:AlexsandroSouza​ 几乎每个人都在关注微服务架构,我们也不例外。作为一个与时俱进的程序员,我一直在努力了解这一架构,希望寻找一种通过Spring在Java中实现微服务架构的方法。 我们公司虽然很棒,但技术堆栈略显过时,至今还没有使用Java8或微服务,因此我需要从外部了解更多关于微服务架构的经验和方法。我决定通过创建一个“to-dosystem”项目来梳理经验以供将来参

  • 0
  • 0
  • 发布于 2019-08-27 13:16
  • 阅读 ( 1063 )

微服务架构选Java还是选Go - 多用户负载测试

IvanNikitsenka 微服务架构允许我们再创建新应用时自由选择不同的技术和编程语言。不过究竟哪种语言更适合我们当下的硬件?回答这个问题,需要搞明白Java和Go编写的相同应用程序之间的性能差异。 先决条件 Noadditionalperformanceenhancementsshouldbeapplied.Useminimumconfigurationswithdefaultframeworksandlibrariessettings. NoORMframeworks.UsepureDBdrive

  • 0
  • 0
  • 发布于 2019-08-27 11:51
  • 阅读 ( 967 )

Hadoop原理及架构

Hadoop是Apache软件基金会所开发的并行计算框架与分布式文件系统。最核心的模块包括HadoopCommon、HDFS与MapReduce。 HDFS HDFS是Hadoop分布式文件系统(HadoopDistributedFileSystem)的缩写,为分布式计算存储提供了底层支持。采用Java语言开发,可以部署在多种普通的廉价机器上,以集群处理数量积达到大型主机处理性能。 HDFS架构原理 HDFS采用master/slave架构。一个HDFS集群包含一个单独的Na

  • 0
  • 0
  • 发布于 2019-08-27 11:47
  • 阅读 ( 917 )

Java-基于redis 分布式锁形式和队列形式实现秒杀架构(配合消息队列)

通过redis锁,list以及配合消息队列实现商品普通下单流程和秒杀的架构设计代码在这https://github.com/ItsFunny/spring-test/tree/master/spring-test-order-and-stock 测试代码都在测试文件下,若无sql则在dao中更改自己的代码即可,记得修改MQ和redis 更新日志: 2019-03-28更: 不知道代码能不能运行,我也忘了…-.-,开始的时候是ok的,好像我后来改了点东西过 2019-01-23 更: 今天看原先的代码

  • 0
  • 0
  • 发布于 2019-08-27 11:32
  • 阅读 ( 812 )

Java-基于redis 分布式锁形式和队列形式实现秒杀架构(配合消息队列)

通过redis锁,list以及配合消息队列实现商品普通下单流程和秒杀的架构设计代码在这https://github.com/ItsFunny/spring-test/tree/master/spring-test-order-and-stock 测试代码都在测试文件下,若无sql则在dao中更改自己的代码即可,记得修改MQ和redis 更新日志: 2019-03-28更: 不知道代码能不能运行,我也忘了…-.-,开始的时候是ok的,好像我后来改了点东西过 2019-01-23 更: 今天看原先的代码

  • 0
  • 0
  • 发布于 2019-08-27 11:32
  • 阅读 ( 1334 )

Golang 实现并发架构

Golang一个重要的优点就是可以容易实现并发的架构,它通过提供goroutine和channel的语言机制,很简单、方便的实现了这个优点。 goroutine机制 goroutine简单理解就是轻量版的线程,协程就是一个不由OS内核抢占调度,而由程序管理在用户态自管理的协作式“线程”,不用线程,就减少了OS的线程数,其优点: 省去了cpu线程切换的开销; 降低了内存消耗; 提高了cpu缓存命中率; 整体上

  • 0
  • 0
  • 发布于 2019-08-27 01:23
  • 阅读 ( 983 )

分布式爬虫架构设计

1.基于scrarpy-redis及celery设计分布式架构爬虫     Scrapy-redisQueue替换为Redis对列 Scrapy-redis分布式架构图   scrapy-redis改进型 这里值得说明的是:可以基于Celery构建分布消息任务队列爬虫Master作为Producer任务生产者,Slaves作为Workers执行者,实现爬虫任务精确、灵活调度  

  • 0
  • 0
  • 发布于 2019-08-27 00:17
  • 阅读 ( 737 )

SpringCloud结合Python,Golang实现多语言微服务架构

目录前言解决方案Nginx反向代理实现注册其他语言微服务到SpringCloud注册中心Erueka客户端实现原理实现python微服务Go微服务总结 前言 SpringCloud微服务架构这几年已经使用非常广泛了,如下图是目前大多公司使用的基础业务架构图,通过围绕SpringCloud这个架构核心来做的各种部署和设计 但是随着业务量的增加,和部门团队的多样化,很多业务我们可能使用python或者golang实现从而更

  • 0
  • 0
  • 发布于 2019-08-27 00:14
  • 阅读 ( 1282 )

基于Sanic的微服务基础架构

介绍使用python做web开发面临的一个最大的问题就是性能,在解决C10K问题上显的有点吃力。有些异步框架Tornado、Twisted、Gevent等就是为了解决性能问题。这些框架在性能上有些提升,但是也出现了各种古怪的问题难以解决。在python3.6中,官方的异步协程库asyncio正式成为标准。在保留便捷性的同时对性能有了很大的提升,已经出现许多的异步框架使用asyncio。使用较早的异步框架是ai

  • 0
  • 0
  • 发布于 2019-08-27 00:13
  • 阅读 ( 1068 )

微服务框架的存储架构

web应用从单点向高并发架构演变时往往遇到最大的问题就是数据库的分布式存储。因为web应用本身就可以集群部署,但其所使用的数据库确是单点的。如果一个web应用开始的时候没有考虑数据库的分布式架构,那么等到要进行数据库集群改造时会发现困难重重,此时通常的做法是将原系统拆分成多个子系统,然后每个子系统访问一个数据库,这几乎重写了整个系统(如果这还

  • 0
  • 0
  • 发布于 2019-08-27 00:12
  • 阅读 ( 921 )

好雨云的微服务架构实践

微服务从去年以来一直受到众多开发者的热捧,目前国外使用微服务架构的知名厂商中不乏Amazon、Twitter、Netflix等这样的科技巨头,但是国内在微服务领域实践这块,真正成功的案例屈指可数,好雨云平台强调应用一键部署,整个平台的核心正是基于微服务的架构去搭建,可以说,好雨云在微服务领域有着成功的经验和技术。   那么好雨云究竟是一个怎样的平台呢,据该平

  • 0
  • 0
  • 发布于 2019-08-27 00:11
  • 阅读 ( 865 )

微服务实战(一):微服务架构的优势与不足

 英文原文:IntroductiontoMicroservices   这篇文章作者是ChrisRichardson,他是早期基于Java的AmazoniteEC2PaaS平台CloudFoundry.com的创始人。现在他为企业提供如何开发和部署应用的咨询服务。他也经常在http://microservices.io上发表有关微服务的文章。   微服务正在博客、社交媒体讨论组和会议演讲中获得越来越多的关注,在Gartner的2014HypeCycle上它的排名非常靠前。同时,软件社区中也有

  • 0
  • 0
  • 发布于 2019-08-27 00:11
  • 阅读 ( 928 )

简单介绍之微服务架构

一,什么是微服务 0.背景 首先要理解一下大背景,随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 图源来自Dubbo文档: 从图上我们可以看出,随着业务能力的需求,机器节点越来越多,我们从ORM的单一应用架构慢慢成长到MVC垂直应用架构,然后把核

  • 0
  • 0
  • 发布于 2019-08-27 00:11
  • 阅读 ( 988 )

golang实战使用gin+xorm搭建go语言web框架restgo详解2 框架基本架构

2、框架基本结构一个典型的项目框架,文件夹目录如下,下面我们来逐一说明这些文件夹或文件的作用.2.1控制器文件夹controller该目录主要存储控制器文件,特别地,我们做如下约定1、 文件名称首字母一律大写,后面必须添加Controller结尾,用做标识这是控制器文件,如UserCtrl,我们就能一目了然地看到这是一个控制器文件2、 我们约定控制器文件名必须和业务强相关,比如用户相关

  • 0
  • 0
  • 发布于 2019-08-26 23:30
  • 阅读 ( 1295 )

描述系统架构—部署图、组件图

随着人们对计算机的认识加深,要求也越来越严格,希望计算机能够做的事情也越来越复杂,结构简单的单机版软件显然是不能满足用户的需求了。为了满足这些日益复杂的需求,软件的结构也变得越来越复杂。为了能够清楚的描述系统架构,让我们来了解一下部署图和组件图 部署图 部署图的主要目的是在物理的层次上做整体的系统规划,比如:系统需要几台服务器,每

  • 0
  • 0
  • 发布于 2019-08-26 23:06
  • 阅读 ( 1725 )

海量日志实时收集系统架构设计与go语言实现

日志收集系统应该说是到达一定规模的公司的标配了,一个能满足业务需求、运维成本低、稳定的日志收集系统对于运维的同学和日志使用方的同学都是非常nice的。然而这时理想中的日志收集系统,现实往往不是这样的...本篇的主要内容是:首先吐槽一下公司以前的日志收集和上传;介绍新的实时日志收集系统架构;用go语言实现。澄清一下,并不是用go语言实现全部,比如用

  • 0
  • 0
  • 发布于 2019-08-26 20:04
  • 阅读 ( 948 )

今天,有什么经验需要分享呢?

立即撰写

热议话题 »