dubbo学习1- 配置
XML配置dubbo通过spring的xml文件进行配置,可以方便地与spring进行集成。
示例下面是一个简单的provider端配置示例:
1234567891011121314151617<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring- ...
dubbo学习4-集群容灾与负载均衡配置
集群配置调用关系图:
这里的Invoker是Provider的一个可调用Service的抽象,Invoder封装了Provider的地址和Service接口信息。
Direcotry代表多个Invoder,可以看成是List,但与List不同的是,它的值可能是动态变化的,比如注册中心推送变更。
Cluster将Directory中的多个Invoder伪装成一个Invoder,对上层透明,伪装过程包含了容错逻辑,调用失败后,根据容错逻辑进行接下来的处理。
Router负责从多个Invoder中按路由规则选出子集,比如读写分离,应用隔离等。
LoadBalance负责从多个Invoder中选出具体的一个去进行调用,选的过程包含了负载均衡算法,调用失败后可能需要重选。
dubbo提供的容错模式Failover Cluster 失败自动切换
当出现失败时,重试其他服务器(默认)
通常用于读操作,但重试会带来更长延迟
可通过retries来设置重试次数(不含第一次)
Failfast Cluster 快速失败
只发起一次调用,失败立即报错
通常用于非幂等性的操作,比如新增记录
Fail ...
dubbo学习3-启动时检查
启动时检查dubbo默认启动时会检测所依赖的服务是否可用,不可用时将抛出异常,阻止spring 初始化完成,默认check=true。如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果check=false,总是会返回引用,当服务恢复时,能自动连上。可以通过将check设置为false来关闭检查,比如测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。
关闭某个服务启动时的检查(没有提供者时会报错):会出现以下异常:
12345Caused by: java.lang.IllegalStateException: Failed to check the status of the service life.qzz.dubbodemo.api.DemoService. No provider available for the service life.qzz.dubbodemo.api.DemoService from the url zookeeper://localhost:21 ...
The valid characters are defined in RFC 7230 and RFC 3986
今天在使用tomcat的过程中遇到了这个问题。表现为400错误以及空白页面。
1234567891011Error parsing HTTP request headerNote: further occurrences of HTTP header parsing errors will be logged at DEBUG level.Java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:189)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1000)a ...
windows 编绎spring-framework源代码遇到的问题
schemaZip 找不到问题123456789101112131415:spring-webmvc-portlet:sourcesJar UP-TO-DATE:spring-webmvc-tiles2:javadoc SKIPPED:spring-webmvc-tiles2:javadocJar SKIPPED:spring-webmvc-tiles2:sourcesJar SKIPPED:spring-websocket:javadoc UP-TO-DATE:spring-websocket:javadocJar UP-TO-DATE:spring-websocket:sourcesJar UP-TO-DATE:schemaZipFAILURE: Build failed with an exception.* What went wrong:Failed to capture snapshot of input files for task 'schemaZip' during up-to-date check. See stacktrace for de ...
Intellij 激活网站
http://intellij.mandroid.cn/
http://idea.imsxm.com/
http://idea.iteblog.com/key.php
Sublime Text3 + Markdown + 实时预览
安装准备:
找到菜单栏:Preferences → Package Control → Package Control:Install Package;没有找到Package Control,那么点击Package Control 安装吧,安装完重启Sublime。安装过程:
需要两款插件:Markdown Editing + MarkdownLivePreview;在Package Control → Install Package中输入两款插件的名字,找到相应插件,点击即可自动完成安装,安装完重启Sublime;简单设置:Preferences → Package Settings → MarkdownLivePreview → Setting,打开后将左边default的设置代码复制到右边User栏,找到markdown_live_preview_on_open: false,把false改为true,保存。使用方法:使用Sublime新建一个文件,右下角选择编辑方式为“Markdown”,将其保存为.md文件,选择保存位置并单击确定,此时自动弹出Markdown文本编辑框(左) ...
angularjs 改变样式
angularjs 改变样式主要有三种方式
直接使用变量绑定
1234567891011121314151617<style> .play{ color:red; } .play2{ font-size:25px; }</style><div ng-app="myApp" ng-controller="myCtrl"><p class="{{class}}">我的play样式</p></div><script>var app = angular.module('myApp', []);app.controller('myCtrl', function($scope) { $scope.class = 'play';});</script>
运行效果图
这种方式耦合性 ...
吃前吃后
吃货吃鸡腿的速度太快了。
吃之前的图前后不到几分钟的事情。吃之后的图
6.23面试总结
找工作了一个星期,面试了一些中大型公司,普遍的对并发,网络IO,JMS,分布式都有要求,而且需要了解其原理。
面试不上的原因:
项目经验跟公司预期的互联网项目有差距,没有用到dubbo,jms等技术。针对这点需要将分布式,消息系统整合进项目经验中来。并且对dubbo的原理,MQ的原理,redis需要了解。
多线程知识体系不完善,JVM了解的不够深入,MYSQL的优化经验不足。针对这点接下来需要强化多线程体系的完善与学习,JVM知识的学习与运用,加强MYSQL sql优化经验。
说话声音太小, 这个问题很严重了。
使用到的技术仅限于使用层面,没有更深入了解其中原理。需要加强学习。
接下来的几个月时间需要针对以上存在的问题进行突破,争取早日进入大公司。