企业规模的软件系统该如何设计呢?在开始写代码之前,我们需要选择一个合适的架构,这个架构将决定软件实施过程中的功能属性和质量属性。因此,了解软件设计中的不同架构模式对我们的软件设计会有较大的帮助。
什么是架构模式?根据维基百科:架构模式是针对特定软件架构场景常见问题的通用、可重用解决方案。架构模式类似于软件设计模式,但范围更广。本文将简要解释10种常见架构模式及其用法、优缺点。
记录-交流-Web开发知识分享
企业规模的软件系统该如何设计呢?在开始写代码之前,我们需要选择一个合适的架构,这个架构将决定软件实施过程中的功能属性和质量属性。因此,了解软件设计中的不同架构模式对我们的软件设计会有较大的帮助。
什么是架构模式?根据维基百科:架构模式是针对特定软件架构场景常见问题的通用、可重用解决方案。架构模式类似于软件设计模式,但范围更广。本文将简要解释10种常见架构模式及其用法、优缺点。
这里所说的三架马车是指微服务、消息队列和定时任务。如下图所示,这里是一个三驾马车共同驱动的一个立体的互联网项目的架构。不管项目是大是小,这个架构模板的形态一旦定型了之后就不太会变,区别只是我们有更多的服务有更复杂的调用,更复杂的消息流转,更多的Job,整个架构整体是可扩展的,而且不会变形,这个架构可以在很长的一段时间内无需有大的调整。…
微服务是一种架构风格,一个大型的复杂软件由一个或多个微服务组成。系统中每个微服务都可以被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成任务。在所有情况下,每个任务代表这一个小的业务能力。
微服务的核心思想是:一个完整的应用由多个小的、相互独立的微服务组成,这些微服务运行在自己的进程中,开发和发布都没有依赖。不同微服务通过一些轻量级交互机制来通信,例如RPC、HTTP等,服务可独立拓展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立团队维护。简单的来说,一个系统的不同模块转变成不同的服务!而且服务可以使用不同的技术加以实现!…
前言
开门见山,见标题。
概念
集群是个物理形态,分布式是个工作方式,微服务是一种架构风格。
集群
集群模式是不同服务器部署同一套服务对外访问,实现服务的负载均衡。…
之前开头的《架构设计原则》一文一直没有把坑填上。而最近在公司内部做了一次架构交流/培训,把架构的概念、架构的形式、架构设计原则都做了阐述,正好算是对此文的完成和补充。
花了不少时间,把自己曾经做过的系统,曾经遇到到的问题,曾经实践过的架构方案,梳理总结和沉淀,尽量“系统的”记录成文字,和大家一起讨论。
本文是不同业务场景下,体系化的介绍“数据库水平切分”技术,和大家分享。
一、总起
文章:《每每谈到数据库架构,我们在讨论什么》
内容:
有没有想过如何设计大型企业及系统?在开发之前,我们必须要选择一个合适的架构,以保证我们软件的功能和质量。今天就简单介绍一下常用的 10 个架构。
一直以来,在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。甚至于很多架构师一说架构,就开始谈论什么应用架构、硬件架构、数据架构等等。我曾经也到处寻找过架构的定义,请教过很多人,结果发现,没有大家都认可的定义。套用一句关于 big data 流行的笑话,放在架构上也适用:
Architecture is like teenage sex,everybody talks about it,nobody really knows what is it。
事实上,架构在软件发明时的 N 多年以前,就已经存在了,这个词最早是跟随着建筑出现的。在软件工程中,架构以理解为:
The 2018 Guide to Building Secure PHP Software!
2018 年将至,一般程序员(特别是 Web 开发程序员)应当抛弃过去开发PHP程序的很多不好的习惯和观念了。虽然部分人不以为意,但是这确实是事实。
这个指南应该以重点部分作为 PHP: The Right Way 安全章节的补充,而不是以一般的 PHP 编程话题。
请在 2018 年使用 PHP 7.2, 并且计划 2019 年初切换到 PHP 7.3。
PHP 7.2 已于 2017 年 11
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。
这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。…
近期评论