为您找到搜索结果:1013个
架构实例之Demo_JSP_JavaBean
架构实例之Demo_JSP_JavaBean1、开发工具和开发环境 开发工具:MyEclipse10,JDK1.6.0_13(32位),Tomcat7.0(32位),mysql5.7.13 开发环境:WIN102、Demo_JSP_JavaBean实现功能 用户登录、用户注册、退出登录。3、Demo_JSP_Java_Bean使用技术 本实例使用了JSP、JavaBean和JDBC来实现用户登录、用户注册和退出登录功能。系统架构图如图一所示: 图一:Demo_JSP_Java_Bean系统架构图 下面请看图二(系统中JSP与JavaBean之间的逻辑关系图): 图二:系统中JSP与JavaBean之间的逻辑关系图 4、具体实现(1)在MyEclipse中新建一个Webproject项目,并命名为Demo_J...
架构实例之Demo_JSP_JavaBean_Servlet
架构实例之Demo_JSP_JavaBean_Servlet1、开发工具和开发环境 开发工具:MyEclipse10,JDK1.6.0_13(32位),Tomcat7.0(32位),mysql5.7.13 开发环境:WIN102、Demo_JSP_JavaBean_Servlet实现功能 用户登录、用户注册、退出登录。3、Demo_JSP_Java_Bean_Servlet使用技术 本实例使用了JSP、JavaBean、Servlet和JDBC来实现用户登录、用户注册和退出登录功能。系统架构图如图一所示: 图一:Demo_JSP_Java_Bean_Servlet系统架构图 下面请看图二(系统中JSP、JavaBean和Servlet之间的逻辑关系图): 图二:系统中JSP、JavaBean和Servle...
架构实例之SpringTest
架构实例之SpringTest1、开发工具和开发环境 开发工具: MyEclipse10,JDK1.6.0_13(32位),Tomcat7.0(32位),mysql5.7.13 开发环境:WIN72、SpringTest实现功能 用户登录、用户注册、退出登录。3、SpringTest使用技术 本实例使用了JSP、Spring3.1框架、JdbcTemplate来实现用户登录、用户注册和退出登录功能。系统架构图如图一所示: 图一:SpringTest系统架构图4、具体实现 (1)在MyEclipse中新建一个Web项目,并命名为SpringTest。项目建立完成后,鼠标选择该项目并点击右键选择MyEclipse选项,再选择AddSpringCapabilities选项,再选择Spring3.1CoreLibraries,最后点击f...
用pycharm+flask 建立项目以后运行出现ImportError: No module named flask-login问题
出现此问题,一般情况下:打开CMD输入:pipinstallflask-login 然后,在cmd中输入命令:piplist查看目前已安装的的模板。在此时,如果你继续运行项目,有可能会发现问题已经解决,但是也有可能会发现问题依然存在。 下面继续解决问题。如果你使用的不是虚拟环境,使用上面的pipinstallflask-login安装模板后,应该就没有问题。但是,如果你使用的是虚拟环境,解决办法参照如下: 1.删除项目中的虚拟环境,重新创建一个新的虚拟环境,虚拟环境命名也改一下,然后重新安装相关模板,并在项目中点击Pycharm的File——Setting——Project——ProjectInterpreter,点击右边的小+,在输入框中输入flask-login,搜索到这个模板后然后点击添加,全部点击确认即可。(PS:此时顺便检查一下虚拟环境的路径是不是本项目中已经创建的虚拟环境)具体如下图:参考资料:https://stackoverflow.com/questions/3125...
JNDI架构提供了一组标准的独立于命名系统的API
JNDI架构提供了一组标准的独立于命名系统的API,这些API构建在与命名系统有关的驱动之上。这一层有助于将应用与实际数据源分离,因此不管应用访问的是LDAP、RMI、DNS、还是其他的目录服务。换句话说,JNDI独立于目录服务的具体实现,只要有目录的服务提供接口(或驱动),就可以使用目录。关于JNDI要注意的重要一点是,它提供了应用编程接口(applicationprogramminginterface,API)和服务提供者接口(serviceproviderinterface,SPI)。这一点的真正含义是,要让应用与命名服务或目录服务交互,必须有这个服务的JNDI服务提供者,这正是JNDISPI发挥作用的地方。服务提供者基本上是一组类,这些类为各种具体的命名和目录服务实现了JNDI接口—很像JDBC驱动为各种具体的数据库系统实现了JDBC接口一样。作为一个应用开发者,我们不必操心JNDISPI的具体实现。只需要确认要使用的每一个命名或目录服务都有服务提供者。...
大型网站架构演化(转)
就像我们在自己电脑上搭建了一个论坛的网站,应用程序(例如Apache服务器)、数据库等都部署在我们自己的电脑上的。就可以正常运行了。我们的论坛越来越受欢迎,用户越来越多,论坛也十分越活。但是面临的问题是数据库中的信息越来越多,存储不够了。这个时候我们又多弄了几台服务器,应用程序(Apache服务器)、数据库和保存用户上传的文件(图片)单独部署在不同的服务器上。应用服务器处理大量的业务逻辑,所以需要更好的CPU数据库服务器需要完成数据的快速查询,所以需要更大的硬盘和内存文件服务器保存用户上传的图片等文件,所以需要更大的硬盘我们的论坛用户继续快速增涨,我们发现访问速度越来越慢,原因就是很多请求都要访问数据库(例如,读取用户的个人信息,打个不恰当的比喻,每次进入一个话题,该话题中的每一个发言用户的信息都要从数据库中读取)。这个时候如果我们能缓存这些用户信息,每次从缓存中读取,这样对数据库的压力会大大降低,并且读取的性能也提升了很多。使用缓存后,又出现问题了,在论坛使用高峰的时候,单一应用服务器处理请求连接有限,这个时候就需要部署应用服务器集群,然后在使用一个负载均衡服务器(例如N...
微服务架构的基础框架选择:Spring Cloud还是Dubbo?
转载至:http://blog.csdn.net/kobejayandy/article/details/52078275 大神就是牛逼啊,我2018年1月24日才开始关注springcloud,但是大声2016年就在分析springcloud与dubbo的区别了。 最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论 微服务架构 。近期也看到各大技术社区开始组织一些沙龙和论坛来分享SpringCloud的相关实施经验,这对于最近正在整理SpringCloud相关套件内容与实例应用的我而言,还是有不少激励的。目前,SpringCloud在国内的知名度并不高,在前阵子的求职过程中,与一些互联网公司的架构师、技术VP或者CTO在交流时,有些甚至还不知道该项目的存在。可能这也与国内阿里巴巴开源服务治理框架Dubbo有一定的关系,除了Dubbo本身较为完善的中文文档之外,不少科技公司的架构师均出自阿里系,所以就目前情况看,短期国内还是Dubbo的天下。那么第一次实施微服务架构时,我们应该选择哪个基础框架更好呢?以下内容均为作者个人观...
微服务架构,新增一个实例,是否存在消费者到服务提供者防火墙不通的问题?
以eureka作为微服务注册中心举例,一开始eurekaserver有三台实例,serviceprovider有三台实例,serviceconsumer也有三台实例,彼此之间都开通了网络防火墙。 现在忽然发现serviceprovider压力太大,需要新增一台实例,于是新增一个云主机,结果发现这一台serviceprovider根本无法访问EurekaServer. 而且serviceconsumer也没法访问新增的serviceprovider,因为serviceconsumer到新增的serviceprovider的墙也是不通的。 另外我现在的公司,在serviceprovider外层提供F5负载均衡服务器的意义在哪里?(难道意义在于,为不走注册中心的其他应用提供服务?) 服务端负载均衡也会有同样的问题,常见的F5,Nginx,lvs负载均衡服务器,当服务提供者新增节点的时候,必须要到负载均衡服务器上面重新配置,并且得开通负载均衡服务器到新增节点的墙才行。 另外你清楚为什么想要使用服务器负载均衡必须用域名访问的原因吗?&...
【架构师之路】集群/分布式环境下5种session处理策略
转自:http://www.cnblogs.com/jhli/p/6557929.html 在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Session,所以就会将用户踢到登录页面。这将大大降低用户体验度,导致用户的流失,这种情况是项目绝不应该出现的。我们应当对产生的Session进行处理,通过粘性Session,Session复制或Session共享等方式保证用户的体验度。以下我将说明5种Session处理策略,并分析其优劣性。第一种:粘性session原理:粘性Session是指将用户锁定到某一个服务器上,比如上面说的例子,用户第一次请求时,负载均衡器将用户的请求转发到了A服务器上,如果负载均衡器设置了粘性Session的话,那么用户以后的每次...
appium+python+eclipse 自动化测试框架构建!
升级版的测试框架详见:https://www.cnblogs.com/syw20170419/p/10785848.html经过几天的慢慢研究,现将所需用的自动化框架进行了构建,在后期的代码编写中,直接在框架中套用编写对应的module、case等即可,以此来简化测试方式,提高代码的编写效率与规范基本的架构设计流程图,如下: eclipse中具体框架结构如下: 对应的eclipse的workspace目录下,在对应的工程下,将可以看到生成的html报告与logs日志记录,本人的目录为(D:Autoeclipseworkspace)如下: 打开logs所看到的内容 打开test文件,所看到的内容 以上所有的信息都将与eclipse中所看到的一致,并且将对应的信息已存放在了本地,后期方便log分析以上框架的构建,需要的留言即可,我将发送你 欢迎加入微信群一起学习: ...
大数据多属性的数据架构设计
每个公司都是从大到小的发展(1)如何实现属性扩展性需求(2)多属性组合查询需求如何设计?1.原始的,只有一个分类Atiezi(tid,uid,c1,c2,c3)c1,c2,c3是A属性如何满足各属性之间的组合查询需求,通过组合索引:index_1(c1,c2)index_2(c2,c3)index_3(c1,c3)如果增加一个新的类别Btiezi(tid,uid,c1,c2,c3,c10,c11,c12,c13)其中c1,c2,c3是A,c10,c11,c12,c13是B如何满足各属性之间的组合查询需求,再通过所以就不行了所以这种结构不可取2.按照业务进行垂直拆分tiezi_A(tid,uid,c1,c2,c3)tiezi_B(tid,uid,c10,c11,c12,c13)这可以通过索引查询但是也会有新的问题(1)tid如何规范(2)属性如何规范(3)按照uid来查询怎么办(4)按照时间来查询怎么办(5)跨品类查询怎么办(例如首页搜索)……3.存储异构数据 基础数据基础服务的统一tiezi(tid,uid,time,title,cate,subcate,xxid,ext)(...
Mysql主从架构的复制
复制类型 (1)基于语句的复制: 在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。 一旦发现没法精确复制时,会自动选着基于行的复制。 (2)基于行的复制:把改变的内容复制过去 (3)混合类型的复制:默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。复制解决的问题 (1) 数据分布 (2) 负载平衡 (3) 备份 (4) ...
秒杀业务架构的优化
优化方向: 将请求尽量拦截在系统上游 充分利用缓存站点架构1.客户端 JS层面,限制用户在x秒之内只能提交一次请求;2.站点层 用uid即可。在站点层面,对uid进行请求计数和去重,甚至不需要统一存储计数,直接站点层内存存储。一个uid,5秒只准透过1个请求,这样又能拦住99%的for循环请求。 页面缓存,同一个uid,限制访问频度,做页面缓存,x秒内到达站点层的请求,均返回同一页面3.服务层 写请求,做请求队列 读请求,做缓存,memcached或redis 业务规则上的优化,如分时分段售票...每隔半个小时放出一批:将流量摊匀 数据粒度的优化,如流量大的时候,做一个粗粒度的“有票”“无票”缓存即可 业务逻辑的异步,如下单业务与支付业务的分离4.数据层 浏览器拦截了80%,站点层拦截了99.9%并做了页面缓存,服务层又做了写请求队列与数据缓存,每次透到数据库层的请求都是可控的优化思路 尽量将请求拦截在系统上游 读多写少的常用多使用缓存(缓存抗读压力) ...
Docker+Nginx+Keepalived实现架构高可用
通过keepalived实现nginx高可用,由于在家不想弄多台主机来搞,所以将运行环境用docker封装来模拟跨主机docker基础镜像:centos 说之前,简单介绍一下:Keepalived是基于vrrp协议的一款高可用软件。Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。 双机高可用方法目前分为两种:双机主从(也叫双机热备)双机主主(也叫双机互备)下述介绍,高可用中的双机主从模式,双机主主模式,主要是keepalived.conf配置会有所不同,方法都是一样。1、安装centos镜像dockerpullcentos说明:通过用centos镜像来安装高可用所需要的所有环境,再启两个容器,再真实模拟跨主机的场景 2、在centos上安装所需环境(nginx和其它工具)运行centos容器dockerrun-itcentos/bash/bin 安装依赖和所需要的包 #使用yum安装nginx需要包括N...