企业架构

网站架构之缓存应用(摘录)

寵の児 提交于 2019-12-30 05:25:50
网站缓存这个话题并不新颖,但是能否将它用好,可是一门学问,同一件工具在不同人的手中会做出不同的事情来。这里我来分享总结下我对于网站架构中缓存应用的一些看法和经验,大家有好的想法可以补充 第一:缓存的一些基本概念。 1:缓存(CACHE)与缓冲(BUFFER)的区别,我认为缓存可以在某种程序上理解成一级缓存(Primary Cache),数据全局共享。缓冲则属于二级缓存,只对一部分对象共享数据,二级缓存在某种程序上主要是降低一级缓存组件的访问压力以及提高缓存的存取效率。 2:缓存的一些基本属性:命中率,表示缓存命中的次数/总的请求数,这是缓存设计的重要质量指标之一;缓存执行效率,例如GET,INSERT,DELETE等;容量,即缓存介质的容量最大值;成本,即开发成本,部署成本,软硬件成本。 3:缓存的问题,存储介质的选择往往左右缓存的设计,缓存在不命中时往往会使性能下降。 第二:网站中缓存的应用场景: 1:可以缓存整个页面的html,提高访问响应能力; 2:针对局部页面元素进行缓存; 3:对复杂数据的结果进行缓存,例如一个查询需要结合多个数据集,然后根据这些数据集进行相应的运算,即使每个子集查询有缓存,但还是需要额外的运算,这种情况可以考虑缓存计算后的结果。 4:对耗时的查询进行缓存,例如产品列表页的查询。 5:和上下文相关的用户数据,例如用户从订单埴写页进入到订单成功页

基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南

二次信任 提交于 2019-12-25 03:56:53
一、AgileEAS.NET平台简介 AgileEAS.NET平台 是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行。 AgileEAS.NET平台 基于软件过程改进以及构件化快速开发两方面达到这方面的目标,在软件过程改进实践方面,提出了独有的“ 敏捷并行开发方法 ”开发方法,其目的是在软件的管理之中提出符合国内中小软件企业实际情况并且可操作的软件工程实践、软件过程改进思想、及相配套的项目管理系统。 在快速开发方面, AgileEAS.NET平台 平台提供了企业应用开发所需的诸如ORM、IOC、分布式通信、插件与平台基础结构以及一系统的快速生成工具,涵盖开发过程中的设计、编码、集成、部署、运维等各个环节。 二、有关AgileEAS.NET文章汇总 有关于AgileEAS.NET平台介绍的文章 5.0 版本介绍 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 5.0 简介 4.2重构改进 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - Linq 2 EAS

软件架构学习小结

让人想犯罪 __ 提交于 2019-12-21 07:17:39
软件架构 设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。本文从 架构师职责、 软件架构定义、设计架构、评估架构、架构管理 等方面来描述了解软件架构的含义和怎样设计软件架构。 一、软件架构师的职责 架构师分为以下几大类:业务架构师、主题领域架构师、技术架构师、项目架构师( J2EE 架构师、 .NET 架构师等)、系统架构师。 1 、架构师的职责主要体现 架构师的职责就是设计一个公司系统的基础架构,并提供关于怎样建立和维护系统的指导方针。具体来讲,架构师的职责主要体现在以下几方面: 1 )、负责公司系统的架构设计、研发工作。 2 )、承担从业务向技术转换的桥梁作用。 3 )、协助项目经理制定项目计划和控制项目进度。 4 )、负责辅助并指导系统分析开展设计工作。 5 )、负责组织技术研究和攻关工作。 6 )、负责组织和管理公司内部的技术培训工作。 7 )、负责组织及带领公司内部员工研究与项目相关的新技术。 8 )、管理技术支撑团队并给项目、产品开发实施团队提供技术保障。 9 )、理解系统的业务需求,制定系统的整体框架(包括、技术框架和业务框架)。 10 )、对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。 2 、构架设计师必须具备的技能 经验:既包括在问题领域的经验

基于微服务架构,改造企业核心系统之实践

自闭症网瘾萝莉.ら 提交于 2019-12-20 15:43:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 背景与挑战 随着公司国际化战略的推行以及本土业务的高速发展,后台支撑系统已经不堪重负。在吞吐量、稳定性以及可扩展性上都无法满足日益增长的业务需求。对于每10万元额度的合同,从销售团队准备材料、与客户签单、递交给合同部门,再到合同生效大概需要3.5人天。随着业务量的快速增长,签订合同的成本急剧增加。 合同管理系统是后台支撑系统中重要的一部分。当前的合同系统是5年前使用.NET基于 SAGE CRM 二次开发的产品。 一方面,系统架构过于陈旧,性能、可靠性无法满足现有的需求。另一方面,功能繁杂,结构混乱,定制的代码与SAGE CRM系统耦合度极高。由于是遗留系统,熟悉该代码的人早已离职多时,新团队对其望而却步,只能做些周边的修补工作。同时,还要承担着边补测试,边整理逻辑的工作。 在无法中断业务处理的情况下,为了解决当前面临的问题,团队制定了如下的策略: 1). 在现有合同管理系统的外围,构建功能服务接口,将系统核心的功能分离出来。 2). 利用这些功能服务接口作为代理,解耦原合同系统与其调用者之间的依赖; 3). 通过不断构建功能服务接口,逐渐将原有系统分解成多个独立的服务。 4). 摒弃原有的合同管理系统,使用全新构建的(微)服务接口替代。 2. 什么是微服务 多年来,我们一直在技术的浪潮中不断乘风破浪

业战略和企业架构的关系

﹥>﹥吖頭↗ 提交于 2019-12-20 12:52:16
转自: http://ea.zhoujingen.cn/860.html 企业经营管理框架 如果知道企业架构的历史就知道,它本身就是从IT系统规划衍生而来,TOGAF也由以前关注IT转到业务,但IT仍是我们常谈的词汇,只是可能会有多种不同的说法。但不管怎么说,企业的IT只是一个管理工具范畴,它的存在必须有助于推动企业现在的运营,好的话应该还要适应未来的发展,否则就没有存在的意义了。 我以前画过一张企业经营管理框架图,有时候会给架构师看看,以便他们能够清晰IT的作用、范围、框架以及与与企业其他核心要素的关系,这也是大家在实践TOGAF时需要有的基本视野。 从上图中我们可以看到右上角有三个蓝色小图标,这三大块是企业管理的范畴,它们构成了企业的经营管理框架。它是从企业的经营理念,逐层落实到战略规划以及运营执行。 1. 经营理念:商业企业都是按着自己的愿景来满足他人的需求。新的环境立法影响着许多国家的自然资源行业等,类似这些的驱动力会促使企业的理念的改变,企业的使命、愿景、经营哲学又会决定企业的远期战略和当期的业务目标。 2. 战略规划:目标通常会分解成多个短期的战术目的,它们由不同的组织、合作伙伴和供应商来共同完成。在执行目标的过程中,还需要通过事先定义的KPI来对其进行跟踪和监控(现在数字化转型中,越来越多组织开始去探索更加扁平化、敏捷的组织,所以也会采用不同的绩效方法,例如OKR等)

微服务架构基础之API网关

大憨熊 提交于 2019-12-17 20:19:15
在微服务架构中,API网关是核心的基础服务之一。在微服务流行之前,API网关已经在很多架构中扮演重要的角色,尤其是开放平台,此时的API网关是系统的统一入口,肩负了很多的业务责任,比如限流、计费等功能。而在微服务架构中,API网关可能往往需要兼顾内部和外部的所有微服务,承担更多的职责。 什么是API网关 简单说,API网关是微服务架构中的指路人与守护者。首先,她会提供最基本的路由服务,将调用转发到上游服务。其次,作为一个入口,还可以进行认证、鉴权、限流等操作,对上游服务保护。所以说,有了API网关,就可以做到“一夫当关,万夫莫开”。 一般的电商系统中, API网关位于订单服务和商品服务之前,所有外部的调用者(手机端和电脑Web端)都会先走网关,再进入具体的后端业务服务中。 为什么需要API网关 大多数Java工程师,都对Spring AOP有所了解,在实际开发中,使用面向切面编程在完成一些功能时,可以让代码的侵入性更小,实现更加优雅。而在微服务架构中,API网关可以给整个微服务增加面向切面编程的能力。 在API网关上,可以做到: 安全相关:认证、鉴权、IP黑白名单 流控 集成服务发现 日志和审计 动态路由 在架构设计上,有了API网关也可以让整个架构更加灵活,很多业务系统,可能涉及到两套API,一套给自己的系统使用,一套给第三方使用,此时,就可以使用API网关进行分流

阿里巴巴叔同谈云原生和云计算

半城伤御伤魂 提交于 2019-12-16 16:46:46
本文系『CSDN云计算』对阿里云云原生应用平台负责人叔同的专访,阿里巴巴中间件受权转载。通过本文,您将了解到云计算时代容器技术的发展路径,阿里云在容器领域的产品矩阵、技术迭代以及未来趋势等方面,以及阿里云的容器技术演进历程。 以容器为代表的云原生技术,成为云时代释放云价值的最短路径 "过去我们常以虚拟化作为云平台和与客户交互的界面,为企业带来灵活性的同时也带来一定的管理复杂度;容器的出现,在虚拟化的基础上向上封装了一层,逐步成为云平台和与客户交互的新界面之一,应用的构建、分发和交付得以在这个层面上实现标准化,大幅降低了企业 IT 实施和运维成本,提升了业务创新的效率。 从技术发展的维度看,开源让云计算变得越来越标准化,容器已经成为应用分发和交付的标准,可以将应用与底层运行环境解耦; Kubernetes 成为资源调度和编排的标准,屏蔽了底层架构的差异性,帮助应用平滑运行在不同的基础设施上;在此基础上建立的上层应用抽象如微服务和服务网格,逐步形成应用架构现代化演进的标准,开发者只需要关注自身的业务逻辑,无需关注底层实现,云原生正在通过方法论、工具集和理念重塑整个软件技术栈和生命周期。 以容器为代表的云原生技术,用开放、标准的技术体系,帮助企业和开发者在云上构建和运行可弹性扩展、容错性好、易于管理、便于观察的系统,已经成为释放云价值的最短路径。”在提及容器演进历程中叔同强调道

阿里巴巴叔同谈云原生和云计算

≯℡__Kan透↙ 提交于 2019-12-16 16:44:11
本文系『CSDN云计算』对阿里云云原生应用平台负责人叔同的专访,阿里巴巴中间件受权转载。通过本文,您将了解到云计算时代容器技术的发展路径,阿里云在容器领域的产品矩阵、技术迭代以及未来趋势等方面,以及阿里云的容器技术演进历程。 以容器为代表的云原生技术,成为云时代释放云价值的最短路径 "过去我们常以虚拟化作为云平台和与客户交互的界面,为企业带来灵活性的同时也带来一定的管理复杂度;容器的出现,在虚拟化的基础上向上封装了一层,逐步成为云平台和与客户交互的新界面之一,应用的构建、分发和交付得以在这个层面上实现标准化,大幅降低了企业 IT 实施和运维成本,提升了业务创新的效率。 从技术发展的维度看,开源让云计算变得越来越标准化,容器已经成为应用分发和交付的标准,可以将应用与底层运行环境解耦; Kubernetes 成为资源调度和编排的标准,屏蔽了底层架构的差异性,帮助应用平滑运行在不同的基础设施上;在此基础上建立的上层应用抽象如微服务和服务网格,逐步形成应用架构现代化演进的标准,开发者只需要关注自身的业务逻辑,无需关注底层实现,云原生正在通过方法论、工具集和理念重塑整个软件技术栈和生命周期。 以容器为代表的云原生技术,用开放、标准的技术体系,帮助企业和开发者在云上构建和运行可弹性扩展、容错性好、易于管理、便于观察的系统,已经成为释放云价值的最短路径。”在提及容器演进历程中叔同强调道

阿里巴巴叔同谈云原生和云计算

◇◆丶佛笑我妖孽 提交于 2019-12-16 16:37:50
本文系『CSDN云计算』对阿里云云原生应用平台负责人叔同的专访,阿里巴巴中间件受权转载。通过本文,您将了解到云计算时代容器技术的发展路径,阿里云在容器领域的产品矩阵、技术迭代以及未来趋势等方面,以及阿里云的容器技术演进历程。 以容器为代表的云原生技术,成为云时代释放云价值的最短路径 "过去我们常以虚拟化作为云平台和与客户交互的界面,为企业带来灵活性的同时也带来一定的管理复杂度;容器的出现,在虚拟化的基础上向上封装了一层,逐步成为云平台和与客户交互的新界面之一,应用的构建、分发和交付得以在这个层面上实现标准化,大幅降低了企业 IT 实施和运维成本,提升了业务创新的效率。 从技术发展的维度看,开源让云计算变得越来越标准化,容器已经成为应用分发和交付的标准,可以将应用与底层运行环境解耦; Kubernetes 成为资源调度和编排的标准,屏蔽了底层架构的差异性,帮助应用平滑运行在不同的基础设施上;在此基础上建立的上层应用抽象如微服务和服务网格,逐步形成应用架构现代化演进的标准,开发者只需要关注自身的业务逻辑,无需关注底层实现,云原生正在通过方法论、工具集和理念重塑整个软件技术栈和生命周期。 以容器为代表的云原生技术,用开放、标准的技术体系,帮助企业和开发者在云上构建和运行可弹性扩展、容错性好、易于管理、便于观察的系统,已经成为释放云价值的最短路径。”在提及容器演进历程中叔同强调道

阿里云叔同:以容器为代表的云原生技术,已成为释放云价值的最短路径

拜拜、爱过 提交于 2019-12-16 10:22:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 作者 | 丁宇(叔同) 阿里云智能容器平台负责人 、刘丹 2019 年阿里巴巴 双11 核心系统 100% 以云原生的方式上云,完美支撑了 54.4w 峰值流量以及 2684 亿的成交量。随着阿里巴巴经济体云原生技术的全面升级,容器性能、稳定性及在线率也得到了全面提升。本文作者将从云计算时代容器的发展路径为出发点,剖析阿里云的容器技术演进历程,借此探析整个行业的发展趋势。 以容器为代表的云原生技术,成为云时代释放云价值的最短路径 过去我们常以虚拟化作为云平台和与客户交互的界面,为企业带来灵活性的同时也带来一定的管理复杂度;容器的出现,在虚拟化的基础上向上封装了一层,逐步成为云平台和与客户交互的新界面之一,应用的构建、分发和交付得以在这个层面上实现标准化,大幅降低了企业 IT 实施和运维成本,提升了业务创新的效率。 从技术发展的维度看,开源让云计算变得越来越标准化,容器已经成为应用分发和交付的标准,可以将应用与底层运行环境解耦;Kubernetes 成为资源调度和编排的标准,屏蔽了底层架构的差异性,帮助应用平滑运行在不同的基础设施上;在此基础上建立的上层应用抽象如微服务和服务网格,逐步形成应用架构现代化演进的标准,开发者只需要关注自身的业务逻辑,无需关注底层实现,云原生正在通过方法论