首页 文章 精选 留言 我的

精选列表

搜索[小程序·短剧],共10028篇文章
优秀的个人博客,低调大师

深入了解高可用注册中心->Spring Cloud Eureka

在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况, 所以在生产 环境中必须对各个组件进行高可用部署, 对于微服务如此, 对于服务注册中心也一样。 但 是到本节为止,我们一直都在使用单节点的服务注册中心,这在生产环境中显然并不合适, 我们需要构建高可用的服务注册中心以增强系统的可用性。 Eureka Server的设计一开始就考虑了高可用问题, 在Eureka的服务治理设计中, 所有 节点即是服务提供方, 也是服务消费方, 服务注册中心也不例外。 是否还记得在单节点的 配置中,我们设置过下面这两个参数, 让服务注册中心不注册自己: eureka.client.register-with-eureka=false eureka.client.fetch-registry=false Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这 样就可以形成一组互相注册的服务注册中心, 以实现服务清单的互相同步, 达到高可用的 效果。 下面我们就来尝试搭建高可用服务注册中心的集群。 目录结构 在etc/hosts文件中添加对peerl和peer2的转换, 让上面配置的host形式的 serviceUrl能在本地正确访间到; Windows系统路径为C:WindowsSystem32 driversetchosts。 1 2 127.0.0.1 peer1 127.0.0.1 peer2 启动: java -jar Eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1 java -jar Eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2 peer1图 peer2图 此时访问peer1的注册中心http://localhost:1111/, 如下图所示, 我们可以到看, registered-replicas中已经有peer2节点的eureka-server了。 同样的, 我们访 问peer2的注册中心http://localhost: 2222/ , 也能到看registered-replicas 中已经有peer1节点,并且这些节点在可用分片(available-replicase)之中。 在设置了多节点的服务注册中心之后, 服务提供方还需要做一些简单的配置才能将 服务注册到Eureka Server 集群中。 我们以下面的项目为例, 修改 application.properties 配置文件, 如下所示: 修改pom.xml 上面的配置主要对eureka.client.serviceUrl.defaultZone属性做了改动, 将注册中心指向了之前我们搭建的peerl与peer2(类似于dubbo服务)。 访问地址: http://localhost:1111/ http://localhost:2222/ 可以观察到hello-service 服务同时被注册到了peerl和peer2上。若此时断开peer!, 由于compute-service同时也向peer2注册, 因此在peer2上的 其他服务依然能访问到hello-service, 从而实现了服务注册中心的高可用。 想深入了解Spring Cloud,想提升职业技能么,这里有在大型企业工作十余年的架构师分享经验,Java工程化管理、高性能、分布式、高可用架构、zookeeper、Spring cloud,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的直播讲解以及在线答疑,如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,QQ群号为:468947140

优秀的个人博客,低调大师

Template parsing error: template: :1:2: executing at <Volumes>: ...

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/80400454 报错: [root@ops-ip-statistic ~]# docker inspect -f {{.Volumes}} volume-test1 Template parsing error: template: :1:2: executing "" at <.Volumes>: map has no entry for key "Volumes" 1 2 3 解决: 1,使用 “.Config.Volumes” 替换 “.Volumes” [root@ops-ip-statistic ~]# docker inspect -f {{.Config.Volumes}} volume-test1 map[/data:{}] 1 2 显示为空,此法 在此不可行 2,直接看容器的所有信息 再grep [root@ops-ip-statistic _data]# docker inspect volume-test1 | grep Mounts -A 10 "Mounts": [ { "Name": "0a3d70900bd0fa46c797f7aa7ff5176b7f6a5a798b6a282cd6c532facfd24925", "Source": "/var/lib/docker/volumes/0a3d70900bd0fa46c797f7aa7ff5176b7f6a5a798b6a282cd6c532facfd24925/_data", "Destination": "/data", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], 1 2 3 4 5 6 7 8 9 10 11 12 找到对应的目录是: /var/lib/docker/volumes/0a3d70900bd0fa46c797f7aa7ff5176b7f6a5a798b6a282cd6c532facfd24925/_data 1 进入容器中创建一个文件: [root@nginx data]# echo 123 >a [root@nginx data]# cat a 123 1 2 3 在宿主机的对应的目录中查看: [root@ops-ip-statistic _data]# cd /var/lib/docker/volumes/0a3d70900bd0fa46c797f7aa7ff5176b7f6a5a798b6a282cd6c532facfd24925/_data [root@ops-ip-statistic _data]# cat a 123 1 2 3 可行!

优秀的个人博客,低调大师

Android Studio中解决Gradle DSL method not found: &amp;#39;android()&amp;#39;

近期导入as的项目出了这种问题 这个问题困扰了我非常长时间,好吧,搜了半天全都是runProguard的。最后在stackoverflow上搜到解决的方法了:http://stackoverflow.com/questions/27735646/android-studio-gradle-dsl-method-not-found-android-error17-0 解决方法: 删掉最外层的build.gradle中的 android { compileSdkVersion 19 buildToolsVersion '21.1.1' } 然后又一次刷新就ok了 本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5275790.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

《现代教育技术》Win8版发布 &amp;&amp; 项目总结

Win8处女作《现代教育技术》发布快一周了,小小总结下。 项目总共三个平台,iPad、Web、Win8,独立完成了iPad版及Win8版,也算完整了,=.=。 iPad版: 是一个native+html的项目,主要解决的技术点是WebView的Page Scroll的效果,以及OC与JS的交互,如OC怎么监听JS事件。 具体可参考我的博文:iOS:UIWebView scrollView 的分页滑动问题 iOS: 在Object-C中监听javascript事件( Javascript communicating back with Objective-C code) Win8版: Win8的开发我们使用的开发方式是HTML5+CSS3+WInjs。html+css主要作用于视图层,winjs实现于逻辑层。所以要找到类MVC模式还是有的。项目之后也对前端的一些技术有了解到了。 毕竟是刚出来的平台,在项目的细节处会体验到MS在一些api细节做得还不够完善,一些实现有时得绕着圈才能完成。 项目一个要解决的问题是适配多分辨率。现在win8在开发中适配问题介于iOS和Android之间,它没有iOS不必为多分辨率适配担忧,但也没有Android的种类繁多。但是解决的话还是能从Android中借鉴一些经验过来的,比如其中用得最多的就是利用百分比的方法去实现。 1、css中所有用到大小、长宽的都只能使用百分比去设定; 2、面对listview的时候,有时css的 设定item size不能满足效果,就需要在js动态做调整:e.g. 获取屏幕可用宽高: 在listview template中设定: 剩下的更多的是界面排布的问题,这个得用html css去做,前端的知识会有帮助。 项目发现用这种方式开发的话,没有webview的控件,webview在C#,xaml的开发方式中才有。这个很不方便,虽然html有iframe替代,但是我们很难去同IFrame的内容交互,这会导致直接不能同web端交互,不够灵活。 但是MS对开发Win8 modern App 提供2种方案,无疑是想吸引更多开发者,C# xaml的方案比较适用于Android或 ios开发者转移,winjs的方案更使用于web 开发者转移。如果你会web开发,上手win8开发其实会是十分容易的事。 最后贴下2个平台产品的图: ipad:下载地址:https://itunes.apple.com/cn/app/xian-dai-jiao-yu-ji-shu/id595581360?mt=8 Win8: 下载地址:http://apps.microsoft.com/windows/zh-CN/app/6731b692-b272-4784-9f91-a78b457685eb 本文转自老Zhan博客园博客,原文链接:http://www.cnblogs.com/mybkn/archive/2013/05/13/3074961.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

构建高并发&amp;高可用&amp;安全的IT系统-高并发部分

什么是高并发? 狭义来讲就是你的网站/软件同一时间能承受的用户数量有多少 相关指标有 并发数:对网站/软件同时发起的请求数,一般也可代表实际的用户 每秒响应时间:常指一次请求到系统正确响的时间(以秒为单位) TPS(每秒事务数):每秒钟可以处理的事务(请求响应),大概的计算公式为:并发数/每秒响应时间=TPS QPS(每秒查询数):TPS事务有读有写,而QPS指的是读取,一般情况QPS应是高于TPS的 IP(独立IP):一个IP可以发生多次UV和PV PV(访问量):即Page View,页面浏览或点周量,用户每次新刷新即被计算一次 UV(独立访客):一般通过cookies记录等判断为一个独立用户,同一IP可能有多个UV(共享IP),发生多次PV 流量(网络流量):请求所产生的网络流量,因为受限于带宽也是并发中的一个重要指 一般公司演化阶段 1、优化运算代码、SQL查询、数据库索引等 2、进行应用负载均衡、数据库做主从/主主复制进行读写分离、增加缓存(Redis\Mem) 3、对系统和数据进行垂直拆分,按业务模块拆分成不同的应用及数据库表 4、分布式服务化、异步消息机制、数据库表水平拆分 优化运算代码、SQL查询、数据库索引等 一般初创公司系统大多数都是单体单库的系统,按照成本优先级第一要做的就是对系统进行代码级的优化。比如应用代码逻辑梳理、合理使用多线程、SQL避免全表扫描、少使用LIKE、 根据业务创建索引等。 案例 单次LIKE大数据量统计查询Sending data状态过多导致数据库连接被耗尽,系统停止响应。通过在统计表建立触发器更新单值表解决 负载均衡、读写分离、缓存 到了第二阶段,单体应用通过优化与增加硬件配置已无法解决高并发的问题,这时可以考虑进行以下架构的演化,这种演化对系统基本没有侵入性,成本低廉 负载均衡: 可以通过Nginx反向代理、F5等进行应用的多流量分发,需要解决的问题就是会话问题,可采用Nginx的路由或是SESSION同步/独立。 读写分离: 采用数据库的主从复制机制,将写入库与读取库分离,可采用中间件进行代理路由,基本可以不改代码。 缓存: 可跟据业务规则将部分数据进行缓存 应用、数据垂直拆分 第二阶段支撑过一定量后,随着并发量再次的提升,由于单库表数据量变大以及访问限制已经不能满足,这时可以考虑进行数据库表的按系统模块垂直拆分。将内联的业务划分为独立的库表,相应的应用也 应随之拆分(应用这时加机器还能挺,不过做不到可审缩资源利用最大化)。同一应用系统访问同一库表,应用系统之间进行少量通信。 分布式服务化、异步消息机制、数据库表水平拆分 在经历过前三阶段后,能走到第四阶段说明平台的发展非常好了,对系统的高并发又有了进一步的要求,这也是成本最高最复杂的,系统架构需要进行很大的改造 分布式: 对系统应用进行服务化(如微服务),服务化的目的不只是为了高并发,也从系统的可维护性(团队大了)、资源利用最大化(对服务进行差异化支撑)方面考虑。 面临的挑战主要是分布式事务方面的控制,可采用二阶段提交方式或是分布式事务容器实现分布式事务。 异步消息机制: 主要解决大并发写入瓶颈,利用消息对列对写入消息进行排队,待数据库进 行处理。 数据库表水平拆分:按一定规则将同一业务表的数据拆分到不同的库/表中(如HASH),面临的挑战主要是跟业务关联性强、跨表的数据合并等。解决方案就是写 好代码吧。。。 http://www.cnblogs.com/assion/p/7239106.html 分类: 软件设计, 网站性能, 重构 本文转自左正博客园博客,原文链接: http://www.cnblogs.com/soundcode/p/7244160.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

NoSQL高级培训课程-HBase&amp;&amp;MongoDB(两天版)

课程大纲 主题 时间 主题 列数据库 (第1天) 上午 HBase发展简史-Google BigTable的开源实现 HBase基础:安装部署、管理命令、运行监控和开发接口; HBase专题:服务组件、存储模式、逻辑架构 下午 HBase优化:配置调优、客户端架构调优 HBase应用:实时查询数据库与操作数据库 HBase案例:XX实时查询数据库系统 文档数据库 (第2天) 上午 MongoDB概述-最类似关系型数据库的No-SQL MongoDB物理存储-并非NoSQL,为何MongoDB仍然需要文档结构的设计; MongoDB系统架构-系统整合,MongoDB服务组件和功能说明; 下午 HBase与MongoDB对比分析 MongoDB技术瓶颈和解决之道; MongoDB集群部署-分片策略; MongoDB企业应用实例:可变的数据结构;累加效应下的数据扩展; 作者:张子良 出处:http://www.cnblogs.com/hadoopdev 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册