首页 文章 精选 留言 我的

精选列表

搜索[单体架构],共10008篇文章
优秀的个人博客,低调大师

企业架构随笔

上一篇文章碰巧谈到了“软件吞噬一切”和“AI吞噬一切”,一大早,在2025年的最后一个黎明中,偶然读到了两篇文章,《Palantir高管:为什么软件吞噬了世界,却没有把蛋糕做大?》和《Palantir CTO:技术本身就是问题,货物崇拜式管理是病根》,第一篇是Ted Mabrey(Palantir副总裁、商业事业部负责人)发表于2024年1月7日,第二篇是Shyam Shankar(Palantir CTO),发表于2024年2月2日。现在Palantir还在火着,所以,一些旧文也就经常会被人翻出来学习。

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

mvp架构优化

MVP优化的结构 mvp结构图.png view的结构 BaseView public interface BaseView { void showLoading(); void hideLoading(); } NewMvpView public interface NewMvpView extends BaseView { void setListItem(List<String> data); void showMessage(String message); } presenter结构 BasePresenter public abstract class BasePresenter<T> { public T mView; public void attach(T mView){ this.mView = mView; } public void dettach(){ mView = null; } } NewMvpPresenter public class NewMvpPresenter extends BasePresenter<NewMvpView> { private RequestBiz requestBiz; private Handler mHandler; public NewMvpPresenter() { requestBiz = new RequestBiziml(); mHandler = new Handler(Looper.getMainLooper()); } public void onResume(){ requestBiz.requestForData(new OnRequestListener() { @Override public void onSuccess(final List<String> data) { mHandler.post(new Runnable() { @Override public void run() { mView.hideLoading(); mView.setListItem(data); } }); } @Override public void onFailed() { mView.showMessage("请求失败"); } }); } public void onItemClick(int position){ mView.showMessage("点击了item"+position); } } activity结构 BaseMvpActivity public abstract class BaseMvpActivity<V,T extends BasePresenter<V>> extends AppCompatActivity { public T presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); presenter = initPresenter(); } @Override protected void onResume() { super.onResume(); presenter.attach((V)this); } @Override protected void onDestroy() { presenter.dettach(); super.onDestroy(); } public abstract T initPresenter(); } NewMvpActivity public class NewMvpActivity extends BaseMvpActivity<NewMvpView,NewMvpPresenter> implements NewMvpView,AdapterView.OnItemClickListener{ private ListView mvpListView; private ProgressBar pb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mvp); mvpListView = (ListView)findViewById(R.id.mvp_listview); mvpListView.setOnItemClickListener(this); pb = (ProgressBar) findViewById(R.id.mvp_loading); } @Override protected void onResume() { super.onResume(); presenter.onResume(); } @Override public NewMvpPresenter initPresenter() { return new NewMvpPresenter(); } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { presenter.onItemClick(position); } @Override public void setListItem(List<String> data) { ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,data); mvpListView.setAdapter(adapter); } @Override public void showMessage(String message) { Toast.makeText(this,message,Toast.LENGTH_SHORT).show(); } @Override public void showLoading() { pb.setVisibility(View.VISIBLE); } @Override public void hideLoading() { pb.setVisibility(View.GONE); } }

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

openfalcon架构详解

一:绘图组件: 1.falcon-agent 数据采集组件 agent内置了一个http接口,会自动采集预先定义的各种采集项,每隔60秒,push到transfer。 2.transfer agent与transfer建立长连接,将数据汇报给tarnsfer transfer默认监听在:8433端口上,agent会通过jsonrpc的方式来push数据上来 transfer将数据发送给judge和graph 3.graph graph组件是存储绘图数据、历史数据的组件。transfer会把接收到的数据,转发给graph。 监听端口为6071,校验方法如下,返回ok表示服务正常。 #url-s"http://127.0.0.1:6071/health" 4.query 绘图数据的查询接口,因为graph是分片存储的,如果要传输给dashboard,就需要query组件收集用户的数据进行聚合再返回给用户。 5.dashboard dashboard是面向用户的查询界面,在这里,用户可以看到push到graph中的所有数据,并查看其趋势图。 二:告警组件 1.judge 告警判断 2.alarm alarm模块是处理报警事件的,judge产生的报警事件写入redis,alarm从redis读取数据。 3.sender 调用各个公司提供的mail-privider和sms-privider,按照某个并发度,从redis读取邮件,短信并发送, alarm生成的报警短信和报警邮件是直接写入redis即可,由sender来发送。 4.mail-privider&&sms-provider 发送邮件短信接口 5.protal 配置报警策略的地方 6.HBS Heartbeat Server心跳服务,只依赖Protal的DB

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

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

Rocky Linux

Rocky Linux

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

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册